我正在努力修复以下编译错误:
error C3867: 'std::vector>::at': 函数调用缺少参数列表;使用 '&std::vector>::at' 创建指向成员的指针
我的代码是:
struct coord_type {
int x;
int y;
};
struct elements_type {
vector <coord_type> my_coord;
coord_type item2;
coord_type item3;
};
错误的函数是:
void position_time(data_type data)
{
int i;
coord_type position;
for (i = data.elements.my_coord.size() - 1; i > 0; i--) {
position = data.elements.my_coord.at[i];
}
}
知道如何解决这个问题吗?
最佳答案
at
是一个函数,它将所需数据的索引作为参数。您有 2 个选择:
- 将
[i]
改成(i)
(因为它是一个函数) - 使用传统数组表示法访问索引 (
data.elements.my_coord[i]
)
关于C++ 结构/vector 编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36191327/