调用引用向量引发错误的成员函数(大小)

时间:2015-06-24 13:52:40

标签: c++ vector

我试图将矢量传递给函数(printGrid)并让它打印出矢量的大小。矢量通过引用传递。当我尝试编译时,我收到错误:

std::vector<char,std::allocator<char>>::size': non-standard syntax; use '&' to create a pointer to member

这是相关计划的相关部分:

void printGrid(const std::vector<char>& grid, int width) { 
    std::cout << grid.size;
}

int main() {

    int width, height;
    std::cin >> width >> height;

    std::vector<char> grid = getGrid(width, height);

    printGrid(grid, width);

    return 1;
}

1 个答案:

答案 0 :(得分:3)

您需要在size函数之后添加括号,例如:

cout << grid.size();

否则编译器会认为您正在尝试访问名为“size”的成员变量而不是同名的成员函数。