请使用以下代码:
# 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部分下弹出错误...
期望一个类型说明符
这里发生了什么?我该如何解决?
答案 0 :(得分:1)
CreateWindow
是一个邪恶的宏。如果您包含定义它的标题,则不能将该名称用于任何其他目的。
要么停止支持Microsoft,要么如果你真的必须这样做,请为你的功能选择一个不同的名称。或者可以添加#undef CreateWindow
并希望最好。