0

C3409: empty attribute block is not allowed我从noreturnVS2013 中得到一个错误。

以下是代码片段:

#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);
        }

有人可以帮我弄清楚如何解决这个错误吗?提前致谢。

4

1 回答 1

2

VS2013 不支持 C++11 属性特性(VS2015 支持)。

https://devblogs.microsoft.com/cppblog/c111417-features-in-vs-2015-rtm/

您可以使用__declspec(noreturn)而不是[[noreturn]].

https://msdn.microsoft.com/en-us/library/vstudio/k6ktzx3s%28v=vs.100%29.aspx

于 2015-09-28T03:26:05.123 回答