【发布时间】:2019-02-14 22:55:46
【问题描述】:
为什么这段代码适用于函数参数?
void GameBoard::showField(std::vector<int> newBoard) const {
for (std::vector<int>::iterator it = newBoard.begin(); it < newBoard.end(); it++) {
std::cout << ' ' << *it;
}
std::cout << '\n';
}
类属性不起作用
void GameBoard::showField() const {
for (std::vector<int>::iterator it = this->board.begin(); it < this->board.end(); it++) {
std::cout << ' ' << *it;
}
std::cout << '\n';
}
【问题讨论】:
-
this->board在函数中是const,所以你需要一个const_iterator。 -
用“works”和“doesn't work”定义你的意思我怀疑代码没有编译是因为你需要使用
const_iterator。 -
编译器错误是秘密吗?一个谜?你的minimal reproducible example在哪里?
-
@mch 答案请进入答案部分,谢谢