我一直在尝试为外部函数中的类设置变量;我认为这最终会在函数退出后删除类,如果这是真的,它有什么方法呢?
Book bookArray[lineIndex];
bookArray[0].setTitle("Here!");
//function in loop called in main
for (int i = 0; i<lineIndex; i++)
{
arrayToBook(tempArray, bookArray[i]);
}
cout << bookArray[0].getTitle() << endl;
//returns empty space
//function definition
void arrayToBook(string* tempArray, Book bookIn)
{
bookIn.setTitle(tempArray[0]);
bookIn.setAuthor(tempArray[1]);
//other sets
}
答案 0 :(得分:0)
作为评论中的状态,您应该通过(非常量)引用传递参数:
void arrayToBook(const string* tempArray, Book& bookIn)
{
bookIn.setTitle(tempArray[0]);
bookIn.setAuthor(tempArray[1]);
//other sets
}
否则你只修改一份新的副本。