これは表示することができます。このコンパイル例として、確かに可能である:関数/メソッドを参照渡しで渡し、オーバーロードがC++の値渡しに渡すことはできますか? C#ので
static void Teste(int x) { }
static void Teste(ref int x) { }
static void Teste()
{
int i = 0;
Teste(i);
Teste(ref i);
}
をしかし、それはコンストラクタでC++(/ CLI)で行うことができますか?以下の例を参照してください:このクラスは、これらのコンストラクタを使用してコンパイルんが
class Foo
{
Foo(int bar)
{
// initializing "Foo" instance...
}
Foo(int &bar)
{
// initializing "Foo" instance...
}
//...
}
私は私は1つを適用するときに選択する方法を見ることができないとされている他、つまり、呼び出しがambiguosで、noキーワードの私は存在しないとして、 C#では "ref"としてこの目的のために知っている。私はコンストラクタで名前をクラスと同じにする必要があります(もちろん無用なパラメータを追加することができますが、でない場合はとするかどうかを知りたい)。
ところで、私はグーグルで「refとvalueの違いは何ですか?このようなオーバーロードをカバーするものは何もありません。そして私は回避策として、私はポインタを使用することができると思う、 "アドレスを取る"(&
)のおかげで;または上記のように余分な無駄なパラメータを持つことがあります。しかし、私が知りたいのは、これらのような過負荷(ref/value)がありますか?事前に
おかげで、
ポインタを1に渡して値をもう一方に渡して、コンストラクタを初期化してみてください。 – smac89
これは重複しているかもしれませんが、私の防衛では、あまりうまく検索しません。また、他の質問の名前はそれほど魅力的ではありません(ただし、この名前はあまりありません)。また、傍注として、他の人がそれが意味を成すかどうか聞いて、可能かどうか尋ねます。 – JMCF125