嗨,大家好!我有一个让我头疼的代码。请给我一些帮助。这是我的.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) {}
^^^^^^^^^^^^^