使用char*参数将用户输入传递给函数

1 c++ parameters pointers arguments function-pointers

我是新手,所以我知道这可能很简单.

我有这样的功能

void GroceryList::addRecord(char* itemName, char* itemType, char rating){
//do some code;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法创建传递给函数的正确参数.

I've tried something like
void main() {
    string itemName;
    cin >> itemName;
    string itemType;
    cin >> itemType;
    string rating;
    cin >> rating;

gradeBook.addRecord(itemName, itemType, rating);
}
Run Code Online (Sandbox Code Playgroud)

我没想到它会起作用,因为函数期望char*但我不能在我的生活中弄清楚如何将用户输入到我可以传递给函数的变量中.我一直在寻找13个小时尝试我能找到但到目前为止没有运气的东西.

Cat*_*lus 5

好吧,不要用char*.

void GroceryList::addRecord(const std::string& itemName, const std::string& itemType, const std::string& rating) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

你可以const char*(不char*)从stringc_str()成员函数,如itemName.c_str(),但除非你是互操作与C库做的,你不需要这个.