intenté usar return (5,4); pero este es un error de sintaxis
Eso no es un error de sintaxis. (5,4)
es una expresión válida y aquí ,
es un operador. Por lo tanto, la expresión (5,4)
se evalúa como el operando del extremo derecho, que es 4
. Por lo tanto, devolverá 4
.
Ahora que se acerca a su problema: definir un struct
si alguno ya existente no le ayuda, y devolver un objeto de estructura lugar, como:
struct values
{
int i;
int j;
char *other;
};
values f()
{
values v = {/*....*/};
//...
return v;
}
Y si tipo de todos los valores son iguales, entonces se puede utilizar como std::vector
:
#include <vector> //must include it!
std::vector<int> f()
{
std::vector<int> v;
v.push_back(5);
v.push_back(4);
//so on
//...
return v;
}
T aquí hay otros contenedores también, viz. std::map
, std::list
, std::stack
, etc. Utilice el que más le convenga. También hay std::pair
que contiene solo dos valores, como su nombre lo indica.
Véase también la pregunta http: // stackoverflow.com/q/1468375/141081 – Dirk