gpt4 book ai didi

c++ - 链脚本和 STL

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:43:33 26 4
gpt4 key购买 nike

我正在尝试使用 std::list<arnAddr> (arnAddr 是自定义结构)在 Chai 脚本文件中。但是在解析过程中出现错误:

Error: "Missing clone or copy constructor for right hand side of equation" With parameters: (NSt3__14listIN3arn7arnAddrENS_9allocatorIS2_EEEE)`

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

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> .但我该如何解决呢?

最佳答案

这样开始怎么样:

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 关于容器的信息(不,它不会自动添加所有可能的容器 - 特别是需要复制构造函数)

也许你也喜欢这个:

interpreter.add(bootstrap::::standard_library::list_type<std::list<arnAddr> >("AddressList"));

关于c++ - 链脚本和 STL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24975211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com