Решение Ниже В течение почти года я думал, что полностью понял указатели, и теперь он терпит неудачу. Я отправлю весь файл, если он понадобится.Проблемы с C++ при переходе к функции
// Test Structure and Function
struct You {
int x;
int y;
string str;
};
bool Show(You* showValue);
// Should (delete) in whatever way possible and update its address to the "You* update" you sent
void Update(You* update, int n) {
// Create a new "You"
You* youTwo = new You();
youTwo->x = 55;
youTwo->y = 43;
youTwo->str = "Twin";
// Update?
update = youTwo;
return;
};
bool Show(You* showValue) {
cout << "Show:" << endl;
cout << showValue->x << '\t';
cout << showValue->y << '\t';
cout << showValue->str << '\t';
cout << endl << endl;
};
int main(int argc, char** argv) {
// Original You
You* currentYou = new You();
currentYou->x = 1;
currentYou->y = 2;
currentYou->str = "You";
// Update the current you to a new you
Show(currentYou); // works
Update(currentYou, 5); // no compile errors
Show(currentYou); // shows initial values instead of the updated
return 0;
};
Update
функция есть, где проблема. Мои намерения - удалить (или избавиться) от оригинала. Замените его на new You()
и сделайте с ним.
Хорошо, поздравляю с решением проблемы. Между тем, если вы сохраняете исходный проблемный код и предоставляете решение отдельно, это будет более полезно для других читателей. –