我是新手,所以我知道这可能很简单。
我有这样的功能
void GroceryList::addRecord(char* itemName, char* itemType, char rating){
//do some code;
}
我的问题是我在创建传递给函数的正确参数时遇到了问题。
I've tried something like
void main() {
string itemName;
cin >> itemName;
string itemType;
cin >> itemType;
string rating;
cin >> rating;
gradeBook.addRecord(itemName, itemType, rating);
}
我没想到它会像函数期望的那样工作 char* 但我终究无法弄清楚如何让用户输入到我可以传递给函数的变量中。我已经搜索了 13 个小时,尝试我能找到的东西,但到目前为止没有运气。
最佳答案
好吧,不要使用 char*
。
void GroceryList::addRecord(const std::string& itemName, const std::string& itemType, const std::string& rating) { /* ... */ }
您可以使用 c_str()
成员函数从 string
获取 const char*
(不是 char*
) ,例如itemName.c_str()
,但除非您正在与 C 库进行互操作,否则您不需要它。
关于c++ - 将用户输入传递给带有 char* 参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6925092/