-3
なぜこれが機能しないのですか?あなたはそれを変換するために、参照のアドレスを取得する必要があるの個々* 'に返される参照へのポインタが使用できないのはなぜですか?
なぜこれが機能しないのですか?あなたはそれを変換するために、参照のアドレスを取得する必要があるの個々* 'に返される参照へのポインタが使用できないのはなぜですか?
を「個々の」からノー実行可能な変換:toBeEvolvedはstd::vector,
.getIndividual
であることは要素
Individual& EvolutionaryAlgorithm::tournamentSelection(unsigned int i)
{
return toBeEvolved.getIndividual(i);
}
Individual* in2 = tournamentSelection(0);
コンパイル時エラーを返します。ポインタ。たとえ、リファレンスが "背後にある"コンパイラによってポインタとして扱われることがわかっていても、参照がポインタ変数として実装されるという明示的な要件はありません。また、明示的な&
演算子を使用する必要がありますアドレスをポインタとして欲しいと伝えてください。だから、:
Individual* in2 = &tournamentSelection(0);
他のポスターは、ポインタと参照の間distinctionにはるかに大きな深さに行っています。
参照はポインタではありません。あなたは何をしようとしているのですか? – nneonneo
この関数で要素へのポインタを設定しようとしています。 – Vincent
私は、暗黙のポインタとして参照がしばしば実装されているという事実は、OPを混乱させていると思います。 –