コンパイラの警告 (レベル 1) C4581

非推奨の動作: '"string1"' を 'string2' に置き換え、属性を処理します

このエラーは、Visual C++ 属性のパラメーター チェックを行う Visual Studio 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 {};