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

时间:2013-07-09 09:58:19

标签: c++ windows visual-c++

我遇到以下代码的问题:

class MainWindow
{
...
private:
bool CreateWindow(std::string, int, int, int, bool);
...
}

bool MainWindow::CreateWindow(std::string title, int width, int height, 
int bits, bool fullscreen)
{
...

Visual Studio使用以下错误突出显示方法定义:

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

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

warning C4003: not enough actual parameters for macro 'CreateWindowW'
error C2039: 'CreateWindowExW' : is not a member of 'MainWindow'

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

1 个答案:

答案 0 :(得分:11)

这只是因为CreateWindow是由Microsoft创建的宏... 它在WinUser.h中定义。