Я получаю одну ошибку C3409: empty attribute block is not allowed
от noreturn
в VS2013.
Вот фрагменты кода:
#ifndef CPPX_NORETURN
# define CPPX_NORETURN [[noreturn]]
#endif
...
namespace std {
class nested_exception
{
private:
exception_ptr nested;
public:
CPPX_NORETURN // error is here
void rethrow_nested() const
{
rethrow_exception(nested);
}
Может ли кто-нибудь помочь мне разобраться, как исправить эту ошибку? Заранее спасибо.
VS2013 не поддерживает функцию атрибутов C ++ 11 (поддерживается VS2015).
http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
Ты можешь использовать __declspec(noreturn)
вместо [[noreturn]]
,
https://msdn.microsoft.com/en-us/library/vstudio/k6ktzx3s%28v=vs.100%29.aspx
Других решений пока нет …