2012-03-09 9 views
1

に私は次の構造を持っていた場合:間違って何プリプロセッサC++

#if COND 
    ... 
#endif 
#else 
    #if COND2 
    ... 
    #endif 
#else  // error: #else after #else 
    ... 
#endif 

elseif:私は二つの文でelifを交換する必要が

#if COND 
    ... 
#endif 
#elif COND2 
    ... 
#else 
    ... 
#endif 

を?

p.s.いいえ、何が間違っているのかは分かりませんが、エラーなく書き込む方法はありますか?

+2

あなたが実際に '#のelse'後に'#のelse'を持っています。 –

+0

どのエラーメッセージが表示されましたか? –

+0

なぜ最初に交換する必要がありますか?最初のバージョンの問題は何ですか?(間違った '#endif'を除いて)? –

答えて

2

同じ#ifに2つの#else文を使用することはできません。

正しいバージョンは次のようになります。

#if COND 
    ... 
#else 
    #if COND2 
    ... 
    #else 
    ... 
    #endif 
#endif 
+0

さて、わかりました。しかし、私の場合はどのように交換するのですか? – Ockonal

+0

@Ockonal上記を参照してください。 –

+0

実際には、このバージョンは正しいものです。最初の#elseの前に#endifもありました。 –

関連する問題