Ich habe eine sehr trival Option Verarbeitungsfunktion, und ich muss diese Funktion so oft eingeben. Also kann ich den Vektor nicht zuordnen. Ich muss in der Lage sein, ein Element zum Vektor hinzuzufügen und es zu speichern, also wenn ich zu dieser Funktion zurückkomme, ist es immer noch ihr.Halten Sie Informationen in Vektor von Func zu Func
vector<sStruct> * loadFile(char *myTextFile)
{
myStruct
sStruct;
vector<myStruct>
vectorAddress,
vectorData;
vectorData = &vectorAddress;
string
feild1, feild2, feild3, feild4;
ifstream
*inFile = new ifstream;
inFile->open(myTextFile, ios::in);
if (!inFile->good())
{
cout << "? File Doesnt Exist! " << endl;
}
while (!inFile->eof())
{
// reading a file deliimted by commas hi,hello,hey,1234
//...
getline(*inFile, feild1, ',');
sStruct.m_1 = field1;
getline(*inFile, feild2, ',');
sStruct.m_2 = field2;
getline(*inFile, field3, ',');
sStruct.m_3; = feild3
getline(*inFile, feild4);
sStruct.m_4 = feield4;
// saving each member of the struct in the vector
vectorAddress.push_back(sStruct);
}
inFile->clear();
inFile->close();
cout << vectorAddress.size() << endl;
delete inFile;
//
(*vectorData) = vectorAddress;
return vectorData;
}
// This function tries despretly to add another element saved in struct member varaible
// to the end of the vector. I need the information from the first function to be here. What i think im trying to do is refer to the same address in memory.
vector<sStruct> * addElement(vector<sStruct> *vAddElement)
{
myStruct sAddElement; // referring to the same struct.
vector<sStruct> vectorAddress;
vAddElement = &vectorAddress;
cout << "Enter a String: ";
cin >> sAddElement.feild1 // save user spec in struct member
vectorAddress.push_back(sAddElement);
cout << vectorAddress.size() << endl;
(*vAddElement) = vectorAddress;
return vAddElement;
}
Und ich versuche, dies zu tun, ohne die Funktion signuatures zu ändern.
+1 hätte ich gesagt, aber ich konnte nicht recht ergründen, ob das war was gefragt wurde oder nicht. –
Ich muss Zeiger für die Rückgabetypen verwenden .. – user40120
Nun tut mir leid, das zu hören, also was Sie tun sollten es einfach "return & vAddElement;" Da die Adresse einer Referenz gleich der Adresse ist, auf die sie sich bezieht. –