[英]Why does this error occur in my code?
我的編譯器在此代碼中給出錯誤“找不到與'ostream :: write(S1,int)'的匹配項”。對編譯器給出錯誤的部分進行了注釋。
#include<iostream.h>
#include<stdlib.h>
int main()
{
struct S1
{
char*str;
S1*ptr;
};
S1 arr[]={" Aanna ",arr+1," Neha ",arr+2," Simran ",arr};
S1*p[3];
for(int i=0;i<3;++i)
p[i]=arr[i].ptr;
cout.write(p[0]->str,7).put('\n');
cout.write((*p)->str,7).put('\n');
cout.write(**p,7).put('\n');//why doesn't it work
return 0;
}
**p
具有S1
類型。 沒有知道S1
的ostream::write
重載版本,因此會出現錯誤。
我會p[0]->ptr->str
,猜你是要放p[0]->ptr->str
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.