错误描述
- 报错代码是
for(int i = 0; i < 10; i++)
cout << string(9-i,ʻ ʻ)+string(1+2*i,ʻ%ʻ)<<endl;
- 报错提示:
错误原因
-
第一种网上有人说报这种错误可能是因为没有输入命名空间std造成的
C++中“在此作用域中尚未声明”的错误解决 -
第二种有人说是未添加库函数造成的
错误: ‘EOF’在此作用域中尚未声明
错误:‘rand’在此作用域中尚未声明 -
我是自己发现的这种,就是用了非半角字符(不晓得输入法给了我一个什么玩意儿)造成的
解决方法
===========================================================
(复制粘贴过来后发现了问题,我下面粘贴过来的代码,看起来像半角字符,但是它不是!!Linux很难发现问题!!我的输入法的问题造成了出现这个问题,我先把代码中添加了一个中文的’;’,编译发现会报同样的错误——”XXX在此定义域中尚未声明“
我把vim下面给我的提示信息中的引号复制过来使用,解决了这个问题)
===========================================================
整体代码是输出一个简单的菱形图案的上半部分,结果没想到报了这么个错误
代码如下:
//===========================================
// 循环语句打印图案
//-------------------------------------------
void LingXing(){
for(int i = 0; i < 10; i++)
// 你复制到IDE中就很容易发现问题,如下图
cout << string(9-i,ʻ ʻ)+string(1+2*i,ʻ%ʻ)<<endl;
}
int main(int argc, char *argv[])
{
LingXing();
return 0;
}//==========================================
在IDE中就是如下: