数组

时间:2015-07-06 05:50:02

标签: c++ arrays vector multidimensional-array 2d

我想要一个可以在一个方向上扩展的2D静态向量。数组的静态向量听起来对我说:

struct A
{
    public:
        static std::vector<std::array<float, 3> > theTable;
};

我尝试从main访问它:

A::theTable.push_back({0.0, 0.0, 0.0});

但我得到了#34;没有匹配函数来调用std::vector<std::array<float, 3ul> >::push_back(<brace-enclosed initializer list>)&#34;

如何声明这个数组向量,然后从其他地方正确使用?

2 个答案:

答案 0 :(得分:2)

你正在推动一系列双打,而不是浮动。将UIFont *font = [UIFont systemFontOfSize:11.0f]; NSDictionary *attributes = [NSDictionary dictionaryWithObject:font forKey:UITextAttributeFont]; [mySegmentedcontrol setTitleTextAttributes:attributes forState:UIControlStateNormal]; 值更改为0.0

如果您仍然遇到问题,可能需要一组额外的大括号。当我用G ++编译所有警告时,我收到警告:

  

建议围绕子对象初始化[-Wmissing-braces]

所以,正确的代码应该是:

0.0f

答案 1 :(得分:2)

看起来你还没有定义theTable

struct A
{
    public:
        static std::vector<std::array<float, 3> > theTable;
};
std::vector<std::array<float, 3> > A::theTable; //define