#352: vc++2005編譯錯誤 dev-c++執行順利 上傳AC


btf21 (嘿嘿嘿)

學校 : 臺北市立建國高級中學
編號 : 2132
來源 : [140.112.25.66]
最後登入時間 :
2013-03-26 17:01:48
a005. Eva 的回家作業 -- POJ | From: [123.193.42.173] | 發表日期 : 2008-07-05 12:36

#include <iostream>

using namespace std;

int main()
{

    short a;
    

    while (cin >> a)
    {
        int n[a][4];

        for (short i = 0; i <= a - 1; i++ )
        {
        
            cin >> n[i][0] >> n[i][1] >> n[i][2] >> n[i][3];

        }

        for (short i = 0; i <= a - 1; i++ )
        {

            if (n[i][1]*2 == n[i][0]+n[i][2])
            {
                cout << n[i][0] << " " << n[i][1] << " " << n[i][2] << " " << n[i][3] << " " << n[i][3] + n[i][1] - n[i][0] << endl;
                continue;
            }

            if (n[i][1]*n[i][1] == n[i][0]*n[i][2])
            {
                cout << n[i][0] << " " << n[i][1] << " " << n[i][2] << " " << n[i][3] << " " << n[i][3] * n[i][1] / n[i][0] << endl;
                continue;
            }


        }


    
    
    }

}

 

這是錯誤內容:

error C2057: 必須是常數運算式
error C2466: 無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數
error C2133: 'n' : 未知的大小

全部在宣告二維陣列的第13行...

請高手們幫小弟看一下 謝了~

 
#353: Re:vc++2005編譯錯誤 dev-c++執行順利 上傳AC


shik (shik)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 1068
來源 : [106.186.16.245]
最後登入時間 :
2017-07-04 11:02:11
a005. Eva 的回家作業 -- POJ | From: [124.8.14.145] | 發表日期 : 2008-07-06 17:46

#include <iostream>

using namespace std;

int main()
{

    short a;
    

    while (cin >> a)
    {
        int n[a][4];

        for (short i = 0; i <= a - 1; i++ )
        {
        
            cin >> n[i][0] >> n[i][1] >> n[i][2] >> n[i][3];

        }

        for (short i = 0; i <= a - 1; i++ )
        {

            if (n[i][1]*2 == n[i][0]+n[i][2])
            {
                cout << n[i][0] << " " << n[i][1] << " " << n[i][2] << " " << n[i][3] << " " << n[i][3] + n[i][1] - n[i][0] << endl;
                continue;
            }

            if (n[i][1]*n[i][1] == n[i][0]*n[i][2])
            {
                cout << n[i][0] << " " << n[i][1] << " " << n[i][2] << " " << n[i][3] << " " << n[i][3] * n[i][1] / n[i][0] << endl;
                continue;
            }


        }


    
    
    }

}

 

這是錯誤內容: 

error C2057: 必須是常數運算式
error C2466: 無法配置常數大小為 0 的陣列,常數必須為大於 0 的整數
error C2133: 'n' : 未知的大小

全部在宣告二維陣列的第13行... 

請高手們幫小弟看一下 謝了~ 


int array[n] 這種寫法是G++的extension
 
ZeroJudge Forum