1

我无法创建自己的函数 CreateWindow,因为 win32 标头中已经定义了一个。只是我什至不能在我自己的命名空间中这样做。真正的问题是什么?

MyNamespace::MyOwnWindowClass * Bit::CreateWindow( )
{
// Code here.
}

得到错误,例如:

Error   5   error C2447: '{' : missing function header (old-style formal list?)
Error   2   error C2039: 'CreateWindowExW' : is not a member of 'MyNamespace'
4

1 回答 1

5

问题是MS使用了#define(我相信根据您是为窄字符串还是宽字符串构建函数来映射函数)。你有三个选择。首先,不要在必须包含相关 MS 标头的文件中使用 CreateWindow。或者,您可以在使用您的功能之前#undef 它(我不推荐这样做)。最后,你可以重命名你的。

于 2013-05-05T00:47:01.980 回答