我想要一个可以在一个方向上扩展的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;
如何声明这个数组向量,然后从其他地方正确使用?
答案 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