我正在使用C++ 14并尝试为每个循环创建一个打印出该数组的每个字符串的循环.我收到错误:
user.cpp:12:34:错误:从'char'类型的表达式初始化'std :: string&{aka std :: basic_string&}'类型的引用无效
for(std :: string&str:*(u-> favs)){
当我在foreach循环中将std :: string更改为auto时,它可以工作,但str成为favs数组中第一个字符串的单个字符.我的代码如下:
user.h
class User{
private:
public:
User(){
favs = new std::string[5]{std::string("Hello"), std::string("how"), std::string("are"), std::string("you"), std::string("?")};
}
~User(){
delete[] favs;
}
std::string lName;
std::string fName;
int age;
std::string *favs;
};
Run Code Online (Sandbox Code Playgroud)
user.cpp
#include <iostream>
#include "user.h"
void create(User *u){
std::cout << "Please enter first name: ";
std::cin >> u->fName;
std::cout << "Please enter last name: ";
std::cin >> u->lName;
std::cout << "Please enter age: ";
std::cin >> u->age; …Run Code Online (Sandbox Code Playgroud)