为什么Visual C++会更改我方法的名称?

Dan*_*tor 5 c++ windows visual-c++

我有以下代码的问题:

class MainWindow
{
...
private:
bool CreateWindow(std::string, int, int, int, bool);
...
}
Run Code Online (Sandbox Code Playgroud)

bool MainWindow::CreateWindow(std::string title, int width, int height, 
int bits, bool fullscreen)
{
...
Run Code Online (Sandbox Code Playgroud)

Visual Studio突出显示方法定义,并显示以下错误:

int reateWindow(std::string title, int width, int height, int bits, bool fullscreen)
Error: class "MainWindow" has no member called "CreateWindowExW"
Run Code Online (Sandbox Code Playgroud)

并且编译器输出以下内容:

warning C4003: not enough actual parameters for macro 'CreateWindowW'
error C2039: 'CreateWindowExW' : is not a member of 'MainWindow'
Run Code Online (Sandbox Code Playgroud)

我注意到如果我将方法名称更改为其他名称,那么不会以大写字母C开头,错误就会消失.我是Windows开发的新手.是什么赋予了?

Pie*_*aud 11

它只是因为CreateWindow是微软创建的一个宏...它的定义是WinUser.h.

  • 不要忘记将您的问题标记为已回答,将其从未回答的问题中删除:-) (2认同)