对类 (C++) 中的私有变量使用未声明的标识符
use of undeclared identifier for private variables within a class (C++)
我正在尝试对类中的私有变量使用std::to_string()
函数,但收到"未声明变量"错误。
下面是包含函数声明的头文件:
class Auto_Part
{
public:
Auto_Part();
Auto_Part(std::string t, std::string n, int pn, double p): type(t), name(n), part_number(pn), price(p) {};
std::string get_type() const;
std::string get_name() const;
int get_part_number() const;
double get_price() const;
void set_type(std::string);
void set_name(std::string);
void set_part_number(int);
void set_price(double);
friend std::ostream& operator<<(std::ostream&, const Auto_Part&);
bool operator<(const Auto_Part&) const;
std::string to_string();
private:
std::string type;
std::string name;
int part_number;
double price;
};
这是我.cpp文件中有问题的函数:
std::string to_string(){
return std::to_string(type) + ", " + std::to_string(name) + ", " + std::to_string(part_number) + ", " + std::to_string(price);
}
我的 IDE 在我的 to_string(( 函数中突出显示了类型、名称、part_number和价格,并出现上述错误。如果在类中声明变量,为什么它无法识别变量?
您需要在.cpp文件中的to_string
定义中指定命名空间(这是您的Auto_Part
类(。所以你的代码应该是
std::string Auto_Part::to_string(){
return std::to_string(type) + ", " + std::to_string(name) + ", " + std::to_string(part_number) + ", " + std::to_string(price);
}
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 将数组的地址分配给变量并删除
- 对类 (C++) 中的私有变量使用未声明的标识符
- 未声明的标识符错误,但变量定义正确 (?)
- 声明与 const 变量和成员函数相同的标识符
- 变量或标识符存储在C++中究竟在哪里?
- 谷歌模拟 - 如何EXPECT_CALL变量名称,即标识符
- 使用函数模板中静态局部变量的地址作为类型标识符是否安全
- 动态变量上的c++MACRO未声明标识符
- 使用对象标识符作为变量名
- 稍后在程序中使用if-else构造内部声明的变量会导致未声明的标识符错误
- 智能感知:我的函数中使用的每个变量的标识符"[blank]"未定义
- 对象标识符、返回值或变量
- c++错误:对全局变量和对象数组使用未声明的标识符
- 是否可能有一个变量是对具有不同类标识符的模板类的引用?
- 为什么这些 Unicode 变量名称不能与 -fextended- 标识符一起使用?"、"和≠
- Shared_ptr对抽象基类(成员变量)是一个未声明的标识符
- 链接器2001错误和未定义的成员变量标识符
- 归根结底,变量标识符是完全没有必要的吗?