编译器警告(等级 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 {};