定义变量时出现奇怪的错误。

所以,我正在尝试在游戏中使用Lua C Api,但在.cpp文件中定义变量时出现了一些错误。

我有一个名为CLua.h的库,其中定义了我在下面代码中使用的所有东西,并且它可以编译正常。(我不会分享它,因为它对于我正在使用的游戏非常有价值和受欢迎,我不想让别人得到我的工作,但无论如何,库没有问题)

#include <iostream>
#include <Windows.h>
#include <string>
#include "CLua.h"

using namespace std;

void CLua::Init(){
Lua_tolstring = (Lua_tolstring)0x00517f70;
Lua_getfield = (Lua_getfield)0x00516d70;
Lua_pcall = (Lua_pcall)0x00517340;
}

首先,在#include行上,我得到了一个名为“PCH warning”的错误在#上。

然后,在我进一步定义所有Lua状态和=符号时,我会得到一个错误,指出它期望一个标识符。

点赞
用户88888888
用户88888888

如果我正确理解了你的问题,看起来你正在使用与类名相同的变量名。例如,你不能将一个 int 变量命名为 'int'。

因此,如果你的类名是 'Lua_tolstring',你必须给变量取一个别的名字。(即使只是一个不同的混合大小写的名称)例如:

Lua_tolstring Lua_tolstring; // 不好的命名方式
Lua_tolstring variableName; // 好的命名方式

然后它将被使用,如下所示:

variableName = (Lua_tolstring)0x00517f70;

我猜测你在 CLua 类中尝试设置的变量实际上并不是 'Lua_tolstring'。查看你的头文件将会有所帮助。无论如何,务必确认你正在访问正确的变量。(变量名区分大小写!)

2015-10-30 22:20:36