2010-12-15 4 views
0

これまでWindowsで動作し、MinGW(WindowsポートGCC)に付属するDev C++ IDEを使用していましたが、今はMAC OS X Leopard私はCode :: Blocks IDEをXCode 3.2.2に付属のGCC v4.2(リンゴ修正版)で使用しています。私の問題がディストリビューション(Dev cpp)やコンパイラのリリースに依存しているのか、それともGCCのアップルディストリビューションであるのか分かりませんが、構造化データの宣言にこのような違いがありました。古いDevのCPPで構造体のバージョン/バージョンが別のものに変更されているGCC標準のコンパイル規則:構造体

は、Windows上で実行している私は単に= 1000この

のconst int型の最大値をdelcared。

構造体データ{

char thing[max]; 
    int anotherthing; 

}

は、その後私はこのような機能にそれを参照する使用:

ボイドsome_function(データ何か)


それがうまく。 Code :: Blocks IDEを使用しているXcode版のコンパイラでは、いくつかのエラーが発生し、コンパイルされません。

new types may not be defined in a return type 

エラー: '最大' はこのスコープで宣言されていなかった

ありがとう!

+0

コード番号全体と行番号を含むエラーを投稿できますか?あなたが投稿したビットから、あなたは欠落しています。あなたの構造体定義の終わりでは、おそらく単なるコピー&ペーストエラーです。 – greatwolf

答えて

0

私は、それが改訂される正しい行のエラー内容でコメントを作成しました。

を含む

using namespace std; const int max = 1000;

のtypedef構造体ダト{

short pos; 
char cont[max]; //error: 'max' was not declared in this scope 

}。

は...その後、main関数来る:

int型のmain(){

char aArray[max]; //error: 'max' was not declared in this scope 
int posz; 

...続きを聖霊降臨祭の良いコードコードから

+0

これは答えではありません。これを行うと、人々は質問がすでに答えられていると考えるかもしれません。代わりにあなたの質問を編集する方が良いです。 – Heatsink

+0

ああ、あなたは本当に残念私は新しいです:) – Ariztotele

0

あなたが投稿スニペットを、私は「ドン何か間違って見てください。それはあなたが得るエラーなしでコンパイルする必要があります。 maxをメインのローカルスコープに移動するとどうなりますか? aArrayのエラーはまだ出ていますか?

コンパイルに影響する可能性があるのはgccに渡されるスイッチだけです。 gccが呼び出されたときのように、C :: Bが渡すコマンドはどのように見えますか?

関連する問題