嗨,大家好!我有一个让我头疼的代码。请给我一些帮助。这是我的.h文件。

#include <iostream>
#include <string>
using namespace std;

namespace UI{
class Comanda
{
private:
    const string _nume;
public:
    Comanda();
    Comanda(const string &nume);

    virtual ~Comanda();
    const string& Nume() const;
    virtual void AsteaptaEnter();
    virtual void Execute();
};
};

和.cpp:
#include <iostream>
#include <string>
#include "Comanda.h"
#include "Exceptii.h"

using namespace std;
using namespace UI;

Comanda::Comanda()
{
    cout << "Comanda()" << endl;
}

Comanda::Comanda(const string &nume)
{
    _nume = nume._nume;
}

编译器向我显示此错误:

错误C2039:'_nume':不是'std::basic_string '的成员

我该怎么办?提前致谢!

最佳答案

您必须在ctor的初始值设定项列表中初始化常量成员,并且nume._nume无效。

Comanda::Comanda(const string &nume) : _nume(nume) {}
                                     ^^^^^^^^^^^^^

09-06 19:29