Hvordan kan jeg fjerne VS advarsel C4091: 'typedef': ignorert på venstre 'REGNEARK' når ingen variabel er deklarert

stemmer
10

Denne advarselen er utløst flere ganger i min kode av den samme erklæringen, som lyder:

// Spreadsheet structure
typedef struct SPREADSHEET
{    
      int ID;               // ID of the spreadsheet    
      UINT nLines;          // Number of lines

      void CopyFrom(const SPREADSHEET* src)
      {
           ID = src->ID;
           nLines = src->nLines;
      }
};

Jeg ønsker ikke å bare slå av denne advarselen,

men heller endre koden slik at advarselen ikke kommer opp!

MERK: Jeg ønsker ikke å erklære noen variabler her (det er en header-fil), bare definere hva struct 'REGNEARK' bør inkludere ...

Publisert på 26/05/2009 klokken 23:50
kilden bruker
På andre språk...                            


5 svar

stemmer
22

Slett typedef. Det er C måte erklære structs, gjør C ++ det automatisk for deg.

Svarte 26/05/2009 kl. 23:55
kilden bruker

stemmer
6

Du må legge til noen identifikator før avslutnings ;, for eksempel:

typedef struct BLAH { ... } BLAH;
Svarte 26/05/2009 kl. 23:55
kilden bruker

stemmer
4

Bare fjerne " typedef". Du erklære en ny struct og typedefnøkkelordet brukes ikke for det. Du ville bruke typedeftil å definere et nytt navn for en eksisterende type, som dette:

typedef int number;
Svarte 27/05/2009 kl. 00:05
kilden bruker

stemmer
0

Min tolkning av denne advarselen er at kompilatoren indikerer at typedefsøkeordet er unødvendig fordi en variabel ikke blir deklarert. og derfor hvis intensjon om koden er å bare erklære en structden typedefer overflødig.

Svarte 11/08/2015 kl. 20:13
kilden bruker

stemmer
0

Ja, BLAH etter den avsluttende spenne er viktig å gjøre typedefet gyldig. Du kan fjerne den SPREADSHEETfra nåværende sted og holde den i mellom }og ;.

Svarte 09/02/2011 kl. 05:42
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more