小编a09*_*935的帖子

对于每个循环,只需要第一个数组C++字符串

我正在使用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)

c++ arrays string c++14

6
推荐指数
1
解决办法
154
查看次数

标签 统计

arrays ×1

c++ ×1

c++14 ×1

string ×1