标题:明明声明了,为什么程序说我没有声明?
只看楼主
GeneralJing
Rank: 2
等 级:论坛游民
帖 子:30
专家分:15
注 册:2011-9-26
 问题点数:0 回复次数:12 
明明声明了,为什么程序说我没有声明?
1>ClCompile:
1>  multidimensionalarrays.cpp
1>d:\program files\microsoft visual studio 10.0\练习项目文件夹\multidimensionalarrays\multidimensionalarrays\multidimensionalarrays.cpp(30): error C2065: “i”: 未声明的标识符
1>
1>生成失败。
代码如下:
#include <iostream>
using std::cout;
using std::endl;

void printArray( const int [][ 3 ] );

int main()
{
    int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } };
    int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 };
    int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } };

    cout << "Values in array1 by row are:" << endl;
    printArray( array1 );

    cout << "\nValues in array2 by row are:" << endl;
    printArray( array2 );

    cout << "\nValues in array3 by row are:" << endl;
    printArray( array3 );
    return 0;
}

void printArray( const int a[][ 3 ] )
{
   
    for ( int i= 0; i < 2; i++ );
    {
        for ( int j = 0; j < 3; j++ )
            cout << a[ i ][ j ] << ' ';

        cout << endl;
    }
}
搜索更多相关主题的帖子: 声明 include visual files 
2011-10-08 10:55
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
得分:0 
http://zhidao.baidu.com/question/295267951.html
2011-10-08 11:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
for ( int i= 0; i < 2; i++ );
这句话后面有个分号,你想干什么呢?
2011-10-08 11:22
naruto01
Rank: 4
等 级:业余侠客
帖 子:103
专家分:280
注 册:2011-5-23
得分:0 
http://zhidao.baidu.com/question/295267951.html
2011-10-08 12:19
lqsh
Rank: 2
来 自:山东济南
等 级:论坛游民
帖 子:26
专家分:58
注 册:2011-8-29
得分:0 
程序代码:
#include <iostream>
using std::cout;
using std::endl;

void output(int *a,int n)//输出数组元素
{
   for(int i=0;i<n;i++)
   {
       cout<<*(a+i)<<" ";
   }
    cout<<endl;
}
void printArray(int*a[])//函数原型声明
{
        for(int i=0;i<2;i++)
    {
       output(*(a+i),3);
    }

}


int main()
{
    int i;

    int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, 6 } };
    int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 };
    int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } };
    int *a0[2]={array1[0],array1[1]};//转化为指针数组
    int *a1[2]={array2[0],array2[1]};
    int *a2[2]={array3[0],array3[1]};
  

    cout << "Values in array1 by row are:" << endl;
    printArray(a0);
      

    cout << "\nValues in array2 by row are:" << endl;
    printArray(a1);


    cout << "\nValues in array3 by row are:" << endl;
    printArray(a2);
   
    return 0;
}
[local]1[/local]



捕获.PNG (28.79 KB)
2011-10-08 16:02
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
得分:0 
自己打错了呗。
2011-10-08 17:39
黄昏的王座
Rank: 2
来 自:安徽亳州
等 级:论坛游民
帖 子:38
专家分:65
注 册:2011-10-5
得分:0 
你的那个i并不是全局的i,只是在for循环里面才能用,你必须声明全局的变量i。
2011-10-08 18:30
hoho568
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:378
注 册:2009-7-14
得分:0 
呵呵,问题前面已经发现了,就是第一个for循环后面的分号;
有了这个符号,i的作用域就结束了。只在for循环括号里面,后面的自然没有声明。去掉就ok了。。
2011-10-08 19:25
樱花雾海
Rank: 2
来 自:广西桂林
等 级:论坛游民
帖 子:39
专家分:28
注 册:2011-6-17
得分:0 
就是第一行for结构后面的分号作怪,以后要注意点洛,我也是经常犯这些错误
2011-10-08 22:46
GeneralJing
Rank: 2
等 级:论坛游民
帖 子:30
专家分:15
注 册:2011-9-26
得分:0 
回复 9楼 樱花雾海
谢谢,是我太粗心了哈哈
2011-10-12 11:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-351794-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026371 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved