我在下面的代碼中獲得了第str.append(ch);
行的abpve錯誤。無法將參數1從'char'轉換爲'const std :: basic_string <_Elem,_Traits,_Ax>&'
我基本上想要追加每個char
'ch'。
如果有人知道這個問題,請糾正我的錯誤。
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;
}
}
第一個選項給錯誤「腐敗的堆棧周圍」,第三個選項爲我工作。 – Rajul 2012-07-28 12:53:37