2012-06-02 300 views
1

我想使用char *和#pragma消息來告訴我的問題在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' 

回答

5

由於##pragma建議,這是預處理器的功能。您不能在運行時調用。該代碼實際上不起作用,並且您看到的警告來自您對#pragma的無效使用。

由於您使用的是Visual Studio,因此您可能會發現OutputDebugMessage函數很有用。

+0

哇,所以這是不可能的?遊民。 –

+1

@btcode:由於您正在使用_Visual Studio_,因此您可能會發現'OutputDebugMessage'函數有用... –