質問: 参照型 int や構造体では違う? 以下のようにポインタを使ったものを参照型にしようと、 void test(int &a, int &b, int n)と書いている最中に 本当に中で a[i]とかしても大丈夫か心配になりました。 int a[] と int *aでは同じなので、 int &aとしても単純に同じ と判断しましたが、正しくはどうすれば下のサンプルが 参照型の引数で動くか教えてください。 void test(int a[], int b[], int n) { for (int i=0; i
回答: >int a[] と int *aでは同じなので a[]は定数、*aは変数なので同じではありません。 例をどうしても参照型で使いたい場合int *a,*bである必要があります。 int a[],b[]では参照渡しは出来ません。 ...前略... main() { int *a,*b,n=10 ; a = new int [n] ; b = new int [n] ; ...中略... test(a,b,n) ; ...中略... } void test(int* &a,int* &b,int n) { for (int i=0; i