编译器警告(等级 1)C4581
更新:2007 年 11 月
错误消息
已否决的行为:“string1”替换为“string2”以处理属性
为 Visual C++ 2005 进行的编译器一致性工作(Visual C++ 属性的参数检查)可能导致此错误。
在以前的版本中,是否接受属性值要看它们是否括在引号内。如果值是枚举,则它绝对不能括在引号内。
有关更多信息,请参见 Visual C++ 2005 编译器中的重大更改。
示例
下面的示例生成 C4581。
// C4581.cpp
// compile with: /c /W1
#include "unknwn.h"
[object, uuid("00000000-0000-0000-0000-000000000001")]
__interface IMyI : IUnknown {};
[coclass, uuid(12345678-1111-2222-3333-123456789012), threading("free")] // C4581
// try the following line instead
// [coclass, uuid(12345678-1111-2222-3333-123456789012), threading(free)]
class CSample : public IMyI {};