名前空間にマクロを使用する際に問題があります。 コードは、マクロに名前空間のオブジェクトを使用しての適切なバリアントは何C++のマクロと名前空間
#include <iostream>
namespace a
{
#define MESSAGE_A(message) \
std::cout << (message) << std::endl;
}
#define MESSAGE_A(message) \
std::cout << (message) << std::endl;
int main()
{
//works fine
MESSAGE_A("Test");
//invalid
a::MESSAGE_A("Test")
return 0;
}
です。
回避策の解決に役立つ可能性があります。私のプロジェクトでは、ネームスペースでマクロを使用する必要があり、別のネームスペースからマクロを呼び出す必要があります。 – shadeglare
@MaxFX、マクロは「呼び出されていません」と置き換えられます。あなたが過度に複雑な何かのためにマクロを使用する必要がある場合、あなたは何か間違っている。 – StoryTeller