定义变量时出现奇怪错误

Weird error when defining variables

本文关键字:错误 变量 定义      更新时间:2023-10-16

所以,我试图在游戏中使用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警告"的错误

然后,当我定义所有Lua状态时,在=符号上,我得到一个错误,说它需要一个标识符

如果我正确理解您的问题,那么您的变量命名似乎与类名相同。例如,不能将int变量命名为"int"。

因此,如果您的类名是"Lua_tolstring",则必须将变量命名为其他名称。(即使只是一个不同的混合大小写名称)例如:

Lua_tolstring Lua_tolstring; //Bad
Lua_tolstring variableName; //Good

然后它将被这样使用:

variableName = (Lua_tolstring)0x00517f70;

我的最佳猜测是,您试图在CLua类中设置的变量实际上并没有命名为"Lua_tolstring"。查看您的头文件会有所帮助。在任何情况下,请仔细检查是否访问了正确的变量。(VaRiaBLE naME对CaSe敏感!)