我想申请__declspec(nothrow)
一些返回对象引用的成员函数。例如,我想将它添加到这个函数中(在 MyClass.h 中):
CMyClass& operator= ( IN UInt32 nValue )
{
return ( SetValue ( nValue ) );
};
VC++ 文档说我需要在函数的返回类型之后添加它,如下所示:
return-type __declspec(nothrow) [call-convention] function-name ([argument-list])
如果我遵循这一点,我的大部分功能都可以正常使用__declspec(nothrow)
. 但是,当我为上述成员函数(或任何其他返回 a 的函数CMyClass&
)执行此操作时,会出现编译错误:
error C2059: syntax error : '__declspec(nothrow)'
我可以把它放在返回类型的前面,然后编译,但文档还说,如果 __declspec() 放置在错误的位置,编译器可能会忽略它而不会发出警告或错误。
正确的使用方法是__declspec(nothrow)
什么?