gpt4 book ai didi

c++ - 无法将参数 1 从 'char' 转换为 'const std::basic_string<_Elem,_Traits,_Ax> &'

转载 作者:行者123 更新时间:2023-11-28 00:55:28 26 4
gpt4 key购买 nike

我在下面的代码中 str.append(ch); 行遇到了 abpve 错误。

我基本上想为每个 char 'ch' 附加 str。

如果有人知道这个问题,请更正我的错误。

int extract(unsigned char data, char i); // Signature of extract function


void decoded(istream& input,ostream& output)
{
int cnt;
int x;

input.read((char*)&x,sizeof(x));


cout<<x;
cnt=x;
string str;
char ch;
for ( ; ; )
{
char c;

input.read((char*)&c,sizeof(char));

if ( input )
{
//read_bit(c,output);
for (int i=7; i>=0; i--)
{
if(cnt)
{
cnt--;
ch=(char)(((int)'0')+extract(c, i));

str.append(ch);// I am getting error at this line.

if(huffmanFindTable[str])
{
output.write((char*)&(huffmanFindTable[str]),sizeof(char));
str.clear();
}
else
{
}

}
}
}
else
break;
}



}

最佳答案

正如编译器所说,没有带签名的成员函数

str.append(ch);

你可以使用任何一个

str.append(1, ch);

或更简单的

str.push_back(ch);

关于c++ - 无法将参数 1 从 'char' 转换为 'const std::basic_string<_Elem,_Traits,_Ax> &',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11656350/

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