首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ChaiScript和STL

ChaiScript和STL
EN

Stack Overflow用户
提问于 2014-07-26 20:23:24
回答 1查看 710关注 0票数 2

我试图在柴脚本文件中使用std::list<arnAddr> (arnAddr是自定义结构)。但是我在解析过程中遇到了一个错误:

代码语言:javascript
复制
Error: "Missing clone or copy constructor for right hand side of equation" With parameters: (NSt3__14listIN3arn7arnAddrENS_9allocatorIS2_EEEE)`

我在chai解析器中添加以下内容:

代码语言:javascript
复制
ChaiScript interpreter;
interpreter.add(user_type<arnAddr>(), "Address");
interpreter.add(bootstrap::basic_constructors<arnAddr>("Address"));
interpreter.add(constructor<arnAddr(const int, const int)>(), "Address");
interpreter.add(constructor<arnAddr(arnIP, arnPort)>(), "Address");
interpreter.add(fun(&Database::getGroup, database), "group"); 
// std::list<arnAddr>& getGroup(); is the prototype

脚本文件非常简单,只包含var group = group();

我从错误消息中得到的是,Chaiscript不知道如何复制构造std::list<arnAddr>。但我该怎么解决呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-26 21:06:58

从这样开始怎么样:

代码语言:javascript
复制
ChaiScript interpreter;
interpreter.add(user_type<arnAddr>(), "Address");
interpreter.add(bootstrap::basic_constructors<arnAddr>("Address"));
interpreter.add(user_type<std::list<arnAddr> >(), "AddressList");
interpreter.add(bootstrap::basic_constructors<std::list<arnAddr> >("AddressList"));

这应该告诉ChaiScript有关容器的情况(不,它不会自动添加所有可能的容器--特别是需要复制构造函数)

也许你也会喜欢这个

代码语言:javascript
复制
interpreter.add(bootstrap::::standard_library::list_type<std::list<arnAddr> >("AddressList"));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24975211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档