1

(intのコレクション、QListから)intへの参照を取得するのに問題があります。しかし、値による呼び出しを使用する別の関数を呼び出すには、値が必要です。

int my_var = collection[i];

nextFunction(my_var); --> ERROR no matching function ... (int&) ...

この参照から値を取得または変換するにはどうすればよいですか?

呼び出したい関数のsignatufeは次のようになります。

nextFunction(int id, ...);

そして実際にはコンストラクターです。

4

2 に答える 2

0

I think your problem is different than converting reference to value. Even if a function uses call by value method it will happily take a reference variable. I have tried that on visual studio and its works fine.

During function call the compiler generally does a type checking on the params. I think you should look at the type of the value returned by the collections[i]. Your compiler error indicates that there is type mismatch. I don't think it has anything to do with call by value and call by reference.

于 2013-01-04T07:01:47.067 に答える
0

値を nextFunction に渡したいだけの場合は、メソッドに const を追加する必要があります

nextFunction(double& par);

エラーの原因になります。

nextFunction(const double& par);

また

nextFunction(double par);

自動変換が発生します。したがって、本当に par を nextFunction 内で変更したい場合は、必要です

nextFunction(int& par);
于 2013-01-04T09:07:32.170 に答える