小编Max*_*lik的帖子

无法从“const std::string [3]”转换为“std::string”

这是我的代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

template<int N>
class Arguments
{
protected:
    string arguments[N];
public:
    Arguments(const string(&arg)[N]) : arguments{ arg } {}
    string operator[](const int &i) const { return arguments[i]; }
};

int main()
{
    string arr[3] = { "arg1", "arg2", "arg3" };
    Arguments<3> args(arr);

    cout << args[2];

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Severity    Code    Description Project File    Line    Suppression State
Error   C2440   'initializing': cannot convert from 'const std::string [3]' to 'std::string'    
coursework_draft    C:\dev\coursework_draft\coursework_draft\coursework_draft.cpp   13  
Run Code Online (Sandbox Code Playgroud)

我需要改变什么?

c++ string type-conversion

2
推荐指数
1
解决办法
207
查看次数

标签 统计

c++ ×1

string ×1

type-conversion ×1