我正在尝试使用ostringstream类但是当我调用getter方法时,我收到一条错误说:error:getQuantity未在此范围内声明
这就是我的.h文件中的内容
public:
const std::string & getName() const;
int getQuantity();
std::string listInfo();
private:
std::string name;
int quantity;
Run Code Online (Sandbox Code Playgroud)
这就是我的.cpp文件中的内容
ostringstream outputString;
const string & Product::getName() const
{
return name;
}
int Product::getQuantity()
{
return quantity;
}
string listInfo()
{
outputString << getName() << getQuantity();
return outputString.str();
}
Run Code Online (Sandbox Code Playgroud)
如果它在同一个文件中,我不明白它是如何超出范围的?谢谢!
你打算写
string Product::listInfo()
Run Code Online (Sandbox Code Playgroud)
代替
string listInfo()
Run Code Online (Sandbox Code Playgroud)
后者声明了一个自由函数,它不知道getQuantity()
命名空间范围(因为它getQuantity
是一个成员函数).
范围与您所在的文件几乎没有关系.以下变量在同一行的范围内有所不同:
{int x;}{int x;}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
179 次 |
最近记录: |