Hej... Ser inte direkt hur du menar. Det är ofta lite dumt att ha en vector med ett fixt antal element (eftersom det inte är något som tvingar den till det).Överlagrade funktioner och vektorer
Har suttit med en grej nu i ett par dagar och jag kommer inte på hur jag skall lösa det hela. Är helt ny inom C++ skall jag väl tillägga.
Grejen är den att jag skall ha en vektor (vector) som innehåller 2 tal. Jag sedan skicka indexen till dessa två element (de båda talen) till en annan funktion. Där skall det göras lite saker och sedan skall indexen returneras till main.
Jag kommer dock inte på alls hur jag skall lösa detta (är som sagt helt ny). Är det någon som kan ge mig en ledtråd. Och jo, det är en uppgift i en C++-kurs så någon färdig kod ber jag inte om, bara en ledtråd.
Tackar!!!Sv: Överlagrade funktioner och vektorer
Vad jag förstår så är problemet att du inte kan returnera två värden från en funktion?
Det är korrekt, man kan bara returnera ett värde
Det finns tre möjligheter (den andra är mer eller mindre ett specialfall av den första).
1. Du skapar eller använder någon sorts datastruktur där båda värdena ingår. Typ
struct z {
int x;
int y;
};
z function (a, b, c)
{
...
}
2. Du använder något ur standardbiblioteket som kan hålla två eller fler värden; vector, list, pair.
std::vector<int> function(a,b,c)
{
std::vector<int> v;
//...
v.push_back(x);
v.push_back(y);
return v;
}
pair är ofta väldigt trevlig.
3. Du gör två funktioner. Du kanske tar emot en vector med tal, och du vill returnera största och minsta. Istället för att göra en funktion för det, kan du göra en för största och en för minsta.