2016-04-23 11 views
0

このうちどれか1つではなくxとyを返すにはどうすればよいですか? 私のLocationクラスでは、私はx_posy_posという名前の保護されたデータを持っています。場所をx、y、zとして返す方法

void Location::getXY(double& x, double& y) const { 
    x_pos = x; 
    y_pos = y; 
    return x, y; 
} 
+0

std :: pairまたはstd :: tupleはどうでしょうか?そうでなければ、参照はイン変数とアウト変数です。 – Niall

+2

'std :: pair'を返しますか? 'std :: tuple'を返しますか? 'std :: array'を返しますか? 'std :: vector'を返しますか?構造体を返しますか? –

+0

あるいは、 'x'と' y'を非定数参照として渡すので、それらに代入するだけですか? –

答えて

1

std::pairを返すことができます。私はあなたがここで参考にするのではなく、価値あるものに戻りたいと思っています。

この関数は論理的には意味がありませんが、最初に渡した値を変更せずに返すことに注意してください。

+0

ここで 'decltype(auto)'は実際には必要ありません。 'auto'で十分です。 – skypjack

0

おそらく

void Location::getXY(double& x, double& y) const { 
    x = x_pos; 
    y = y_pos; 
} 

あなたが提供する場所でLocationx_pos内部とy_posを保存するこの方法

を意味しました。 voidを返す関数(実際には void以外は返すことはできません)から何かを返す必要はありません。 return 誰もが前に言ったように、 std::pairを返す方が良いアイデアかもしれません。

関連する問題