1
我想编译一个绑定类的程序,以便我可以将它与松鼠脚本一起使用。松鼠,sqrat,绑定类时出错
我在Windows 7下使用VS2010,并使用带有调试配置的unicode字符集编译了松鼠库和sqrat。
我得到的错误是在\ sqrat \ sqratclass.h,行81:
error C2664: 'Sqrat::Class<C>::InitClass' : cannot convert parameter 1 from 'const char *' to 'const Sqrat::string &'
有谁知道我必须做的就是这个工作是否正常?或者这是一个在sqrat中的错误?非常感谢你!
这是C++文件:
#include <iostream>
#include <string>
#include <sqrat.h>
class TestClass
{
public:
int integerVar;
std::wstring stringVar;
void printString() { std::wcout << this->stringVar; }
};
void squirrelPrint(SQChar * text)
{
std::wcout << text << std::endl;
}
int main()
{
HSQUIRRELVM squirrelvm = sq_open(1024);
Sqrat::DefaultVM::Set(squirrelvm);
Sqrat::RootTable().Bind(L"TestClass", Sqrat::Class<TestClass>()
.Func(L"printString", &TestClass::printString)
.Var(L"integerVar", &TestClass::integerVar)
.Var(L"strVar", &TestClass::stringVar));
Sqrat::Script script;
script.CompileFile(L"testfile.nut");
script.Run();
}
编辑: 的给出错误行是:
InitClass(typeid(*this).name());
如果你指定的更清楚这行给出了错误,因为没有线81在这里这将有助于...你没有显示\ sqrat \ sqratclass.h和/或sqrat.h代码 – Antonio
@Antonio提供错误的行是InitClass(typeid(* this).name()); – Alex
另外,如果它可以帮助我使用sqrat 0.8.90和松鼠3.0.4 – Alex