我有一个运算符,它接收不可修改的字符串的地址。我正在尝试将收到的地址的大小与项目SKU进行比较。如果它们相同,我返回 true,如果不是 false。我在 c.size(( 上收到一个错误,说表达式必须具有类类型,我不确定为什么
char Item::operator==(const char* c)
{
if (this->get_sku.size() == c.size()) //Error
{
return true;
}
else
{
return false;
}
}
吸气函数
char Item::get_sku() const
{
return *m_sku;
}
我不确定你想达到什么目的。 但是由于get_sku
返回单个char
因此查询其长度或以任何方式将其与char*
进行比较并没有多大意义。 以下编译,但我不确定您的确切问题是什么。
class Item
{
public:
bool operator==(char c) const;
char get_sku() const;
private:
char * m_sku;
};
bool Item::operator==(char c) const
{
return this->get_sku() == c;
}
char Item::get_sku() const
{
return *m_sku;
}