如何让这个返回x和y,而不仅仅是其中一个?
在我的Location类中,我保护了名为x_pos
和y_pos
的数据。
void Location::getXY(double& x, double& y) const {
x_pos = x;
y_pos = y;
return x, y;
}
答案 0 :(得分:1)
您可以返回std::pair
。我假设你想按价值返回,而不是在这里引用。
#include <utility> // for std::pair
// if using c++14, else use std::pair<double,double> as return type
auto Location::getXY(double& x, double& y) const {
x_pos = x;
y_pos = y;
return std::make_pair(x,y);
}
虽然我必须注意到这个函数没有逻辑意义,但是你返回的值是你在不修改它们的情况下开始的。
答案 1 :(得分:0)
你可能意味着
void Location::getXY(double& x, double& y) const {
x = x_pos;
y = y_pos;
}
这样您就可以在提供的位置存储Location
的内部x_pos
和y_pos
。您不需要return
来自返回void
的函数的任何内容(实际上,除了void
之外,您不能返回任何内容)。
正如大家之前所说,返回std::pair
可能是个更好的主意。