我想使用带有#pragma消息的char *来告诉我在Visual Studio调试器中的问题。
void OutputShaderErrors(const char *filename)
{
std::string outputMessage = "Errors written to: ";
outputMessage += filename;
#pragma message(outputMessage.c_str())
}
上面的代码块确实有效,但会给出以下警告:
Warning 1 warning C4083: expected 'string'; found identifier 'outputMessage'
答案 0 :(得分:5)
正如#
中的#pragma
所示,这是预处理器的一个功能。您不能在运行时调用它。代码实际上不起作用,您看到的警告来自您对#pragma
的无效使用。
由于您使用的是 Visual Studio ,因此您可能会发现OutputDebugMessage
函数很有用。