首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++:使用fusion::at时出现BOOST_FUSION_ADAPT_STRUCT错误

C++:使用fusion::at时出现BOOST_FUSION_ADAPT_STRUCT错误
EN

Stack Overflow用户
提问于 2012-08-20 01:56:31
回答 1查看 358关注 0票数 1

在Boost.Fusion文档中,它说BOOST_FUSION_ADAPT_STRUCT使一个结构成为一个完全兼容的Boost.Fusion随机访问序列。

我尝试了以下几种方法:

代码语言:javascript
复制
#include <iostream>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/fusion/include/at.hpp>

struct Str {
    int i;
    float j;
};

BOOST_FUSION_ADAPT_STRUCT(
    Str,
    (int, i)
    (float, j)
)

int main() {
    Str s;
    boost::fusion::at<0>(s) = 1;
}

我从编译器收到一个错误,说“没有匹配的函数可以调用at(Str&)”。

我使用的编译器是g++。

我做错了什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-20 02:34:22

代码语言:javascript
复制
boost::fusion::at<boost::mpl::int_<0>>(s) = 1;

因为N必须是MPL整数常量

Boost::fusion::at

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12028667

复制
相关文章

相似问题

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