1

我想使用带有 #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'
4

1 回答 1

5

正如建议的#那样#pragma,这是预处理器的一个特性。您不能在运行时调用它。该代码实际上不起作用,您看到的警告来自您对#pragma.

由于您使用的是Visual Studio,因此您可能会发现该OutputDebugMessage功能很有用。

于 2012-06-02T04:22:07.963 回答