Ошибка компилятора C3309
"имя_макроса": в качестве имени модуля нельзя использовать макроопределение или зарезервированное слово
В качестве значения свойства имени для атрибута модуля нельзя передавать символ, который может быть расширен с помощью препроцессора. В этом случае необходимо использовать строковый литерал.
Следующий пример приводит к возникновению ошибки C3309:
// C3309.cpp
#define NAME MyModule
[module(name="NAME")]; // C3309
// Try the following line instead
// [module(name="MyModule")];
[coclass]
class MyClass {
public:
void MyFunc();
};
int main() {
}