5

次の例では:

void foo (double *ptr)
{
     const double * restrict  const restr_ptr=ptr;
}

次のエラーが表示されます。

error: expected a ";"      const double * restrict  const restr_ptr=ptr;
                                                      ^

gcc 3.4 を使用して、-std=c99 でコンパイルします。

何か案は?

4

1 に答える 1

9

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

于 2009-09-08T18:15:26.533 に答える