CreateWindow类方法抛出预期的类型说明符--windows.h

时间:2015-04-17 00:34:22

标签: c++

请使用以下代码:

# pragma once

// Windows specific files
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h>

#include "IOS.h"

namespace PlatformGameEngine
{
    class OSWindows : public IOS
    {
    public:
        virtual void CreateWindow( const WindowProperties windowProperties ) override;
    };
}

如果我删除#include <windows.h>代码编译正常。如果我保留它,我会在虚拟空虚CreateWindow部分下弹出错误...

  

期望一个类型说明符

这里发生了什么?我该如何解决?

1 个答案:

答案 0 :(得分:1)

CreateWindow是一个邪恶的宏。如果您包含定义它的标题,则不能将该名称用于任何其他目的。

要么停止支持Microsoft,要么如果你真的必须这样做,请为你的功能选择一个不同的名称。或者可以添加#undef CreateWindow并希望最好。