gpt4 book ai didi

c++ - char& operator[] 重载引用返回? (链表)

转载 作者:行者123 更新时间:2023-11-30 02:41:34 26 4
gpt4 key购买 nike

因此,在返回正确类型的变量时,我遇到了这个错误。它说的是“非常量的初始值必须是左值”的效果

任何人都可以帮助我修改我的代码以正确返回给定索引处的字符吗?这是一个单链表项目顺便说一句。

char& MyList::operator[](const int i)
{
if (i > size())
return 'z';
Node* temp = head;
for (unsigned int a = 0; a < i; a++)
{
if (a == i)
return temp->value;
temp = temp->next;
}
}

最佳答案

问题行是:

return 'z';

'z' 求值为一个常量,该常量不能用作返回 char& 的函数的返回值。

快速修复:

char& MyList::operator[](const int i)
{
static char z = 'z';

if (i > size())
return z;
Node* temp = head;
for (unsigned int a = 0; a < i; a++)
{
if (a == i)
return temp->value;
temp = temp->next;
}
}

关于c++ - char& operator[] 重载引用返回? (链表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28015892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com