我试图将矢量传递给函数(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;
}
答案 0 :(得分:3)
您需要在size
函数之后添加括号,例如:
cout << grid.size();
否则编译器会认为您正在尝试访问名为“size”的成员变量而不是同名的成员函数。