私はポインタに関する明確化を探しています。私はbordland C++ 5.5.1で以下のコードを間違いなくコンパイルしました。しかし、私は実行しようとしている間、コアエラーを与える。C++プログラムの基本的なポインタの質問
int main()
{
int x=10,y=20;
int &a=x;
int &b=y;
int *c;
int *d;
*c=x;
*d=y;
return 0;
}
基本的に2つの参照変数(a、b)を作成しようとしており、2つの変数(x、y)が割り当てられています。その後、2つのポインタ変数(c、d)を作成し、同じ変数(x、y)を割り当てようとしました。これは、コンパイル時ではなく、除外時に私にエラーを与える。
私が間違っていても、これはポインタ変数の標準的な割り当てではありません。この時点でポインタ割り当てが失敗する理由これを理解するのを手伝ってください。
第1更新:
ありがとうございます。最初に、私はC++の機能(参照変数)に取り組んでいることを理解しました。 第2に、ポインタ変数のためにメモリを割り当てる必要があります。
したがって、「int &a=x;」の割り当てはCによってサポートされていません。 – chinnagaja
"int&a = x"は参照を宣言しています - 参照はCではなくC++の一部です。 –
ありがとうNeil、問題は、私はcppコンパイラを使用しており、デフォルトではファイルはcpp extentionコンパイル時に – chinnagaja