C++将字符串打印到调试控制台时出错

dgtucam1  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(141)

我一直在尝试打印到调试控制台,但我找到的用于打印字符串的代码不起作用。以下代码行是我一直用来打印到调试的代码。但我在OutputDebugString(newPos.c_str());上收到以下错误

line: argument of type "const char *" is incompatible with parameter of type "LPCWSTR".

我还在下面放置了我在代码中使用过的位置和玩家位置结构体,它们是在代码前面创建的。

struct Position {
    int x;
    int y;
    string currentObj;
};

struct PlayerPosition {
    int x;
    int y;
};

string newPos = gameMap[playerPos.x + 1][playerPos.y].currentObj;
OutputDebugString(newPos.c_str());

我试过一些以前的StackOverflow问题,比如这个one和这个其他的StackOverflow表单here,但是它们没有帮助。

bvjxkvbb

bvjxkvbb1#

在您的环境中,OutputDebugStringW function似乎被选为OutputDebugString
一个简单的修复方法是显式使用OutputDebugStringA function而不是OutputDebugString

OutputDebugStringA(newPos.c_str());

相关问题