Как вернуть целое число и вектор из функции. В C++ 11 я могу использовать кортеж. Но я должен использовать стандарт C++ 98.Как вернуть два значения из функции в C++?
проблема, как это,
int myfunction(parameter 1,parameter 2)
{
vector<int> created_here;
//do something with created here
return int & created_here both
}
Как я могу это сделать. Кстати, я должен использовать свою функцию recursively.So Я думал, способ, как это,
int n;
vector<int> A;
int myfunction(int pos,int mask_cities,vector<int> &A)
{
if(mask = (1<<n)-1)
return 0;
vector<int> created_here;
int ans = 999999;
for(int i=0;i<n;++i){
int tmp = myfunction(pos+1,mask|1<<i,created_here);
if(tmp<ans){
A = created_here;
ans = tmp;
}
}
return ans;
}
это будет работать? Или есть лучшее решение. и Кстати, моя текущая задача нахождения решения коммивояжер problem.that следует уточнить мои потребности
У этого еще есть 'std :: pair'. – chris
его просто int –
В случае, если вы не разобрали комментарий chris, C++ 98 имеет' std :: pair <> ', если все, что вам нужно, - это два значения. и мои 2-центы, вам лучше иметь предложение о спасении в этой рекурсивной функции, или вы быстро достигнете своего предела вызова. – WhozCraig