簡體   English   中英

為什么我的代碼中會出現此錯誤?

[英]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類型。 沒有知道S1ostream::write重載版本,因此會出現錯誤。

我會p[0]->ptr->str ,猜你是要放p[0]->ptr->str

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM