Freigeben über


Compilerwarnung (Ebene 1) C4581

veraltetes Verhalten: '"string1"' wurde durch 'string2' ersetzt, um Attribut zu verarbeiten

Dieser Fehler kann als Ergebnis der Compilerkonformität generiert werden, die für Visual Studio 2005 ausgeführt wurde: Parameterüberprüfung auf Visual C++-Attribute.

In früheren Versionen wurden Attributwerte akzeptiert, unabhängig davon, ob sie in Anführungszeichen eingeschlossen wurden. Wenn der Wert eine Aufzählung ist, darf er nicht in Anführungszeichen eingeschlossen werden.

Beispiel

Im folgenden Beispiel wird C4581 generiert.

// 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 {};