C++ 结构/vector 编译问题

标签 c++ vector struct reference

我正在努力修复以下编译错误:

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/

相关文章:

python - 使用word2vec计算句子相似度

c++ - 为什么计数整数不返回 d 的预期值?作为数字?

c# - 在平面上获取随机 vector3

c++ - 用 int 和 Points 对 vector 进行排序

c++ - 使用另一个类的结构

c - 如何使用其他函数获取结构体的用户输入以获取 C99 中的用户输入

c++ - 查找另一个字符串中的一串数字

c++ - QT 5.6 静态未解析的外部符号

c++ - 嵌套模板 C++ STL 的重载流运算符

具有两个名称但不带 : 的 C++ 结构定义