2009-09-08 7 views
5

を制限する使用して?エラー次の例では、キーワード

+0

それは私のためにうまくコンパイルされます。 GCCの最新バージョンはありますか? –

+0

そのコードはSun C 5.8とGCC 3.4.6で私のためにコンパイルされます。 Comeauオンラインは、未使用の変数宣言についてのみ不平を言う。お住まいの環境に関する詳細をご記入ください。 –

+0

... ComeauはC99モードでした。私がC++モードにすると、同じことが起こります。 –

答えて

9

C++では、restrictはキーワードではありません(Microsoft extensionsを除く)。それはCで何をしているのかを意味しません.C++コンパイラにC99モードを適用しようとしたように見えます。 Cコンパイラを使用してCコードをコンパイルし、C++コンパイラを使用してC++をコンパイルします。どちらの言語も、どちらの言語のサブセットでもありません。

+0

ああ、それは説明します。制限が使用されているC++の機能を使用しているので、私はCコンパイラを使用してコンパイルできません。回避策はありますか? – vehomzzz

+4

'__restrict'を試してください。 GCCエクステンションやMicrosoftエクステンションのように見えます。それをマクロで抽象化して、GCCでない非MSコンパイラではそれを抑制しないようにしてください。 –

+0

__restrictはトリックを行った..ありがとう – vehomzzz

関連する問題