Предупреждение компилятора (уровень 1) C4581
нерекомендуемое поведение: "string1", замененное "string2" для обработки атрибута
Эта ошибка может быть создана в результате работы соответствия компилятора, которая была выполнена для Visual Studio 2005: проверка параметров для атрибутов Visual C++.
В предыдущих версиях значения атрибутов были приняты, были ли они заключены в кавычки. Если значение является перечислением, оно не должно быть заключено в кавычки.
Пример
В следующем примере создается 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 {};