2015-10-30 99 views
2

的時候所以,我想在遊戲中使用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的狀態越往下,在等號(=),我得到一個錯誤,說它期望標識符

回答

2

如果我正確理解你的問題,它看起來像你命名變量相同的類名。例如,你不能命名一個int變量'int'。

所以,如果你的類名是'Lua_tolstring',你必須爲你的變量命名。 (即使它只是一個不同的大小寫混合的名稱)例如:

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

然後將它作爲這樣:

variableName = (Lua_tolstring)0x00517f70; 

我最好的猜測是變量您試圖在設置CLua類實際上並不命名爲'Lua_tolstring'。看到你的頭文件會有所幫助。無論如何,請仔細檢查您是否正在訪問正確的變量。 (VaRiaBLE names CaSe SensiTIVe!)