VS2022 版本17.6
今天在做棋盘子问题时发生的错误。
using namespace std;
#include <iostream>
int board[1005], t = 0; //总棋盘,L型骨牌编号
int size; //初始尺寸
//棋盘左上角坐标 特殊方格的坐标 子棋盘尺寸
void ChessBoard(int tr, int tc, int dr, int dc, int size) {
}
int main() {
cin >> size; //此处size红线报错,“size不明确”
}
原因分析:
因为使用了using namespace std;
而std有关键词size,与全局变量size冲突。

解决办法:
- 更改变量名:将全局变量size改名为sizes或其他不为关键词的变量名;
- 使用size的地方改为::size;
- 不使用using namespace std;
在VS2022的17.6版本中,当使用全局变量`size`时,由于`usingnamespacestd`导致与C++标准库中的`size`函数产生冲突,从而出现编译错误。解决方法是将全局变量`size`重命名为非关键字的`sizes`,并在引用时使用作用域解析运算符`::size`,或者避免使用`usingnamespacestd`。
633

被折叠的 条评论
为什么被折叠?



