Domanda

#include <string.h>

sdi12CRC::sdi12CRC()
  {
    CRC = 0;
    responseToDCommandWithoutCRC = new char[MAX_D_COMMAND_RESPONSE_SIZE];
    responseToDCommandWithCRC = new char[MAX_D_COMMAND_RESPONSE_SIZE];
    asciiCRC = new char[ASCII_CRC_SIZE];
    strcpy(responseToDCommandWithoutCRC,"");
    strcpy(responseToDCommandWithCRC,"");
    strcpy(asciiCRC,"");
  }
.

Sopra è un frammento di codice da un programma C ++ che ho scritto e testato qualche tempo fa con Borland C ++ Builder.Funziona.Ora sto imparando Visual Studio 2010, quindi ho pensato di usare il mio lavoro passato per aiutare a conoscere Visual Studio.

Ottengo un avviso e e un errore sul codice sopra, ma il codice sopra riportato è il codice Legit C ++.Non riesco a trovare alcun aiuto nella documentazione VS per imparare quello che sto facendo male e come risolverlo.(Non sto dicendo che non è nella documentazione, solo dicendo che non riesco a trovarlo).

Warning 1   warning C4627: '#include <stdlib.h>': skipped when looking for precompiled header use

Error   4   error C3861: 'strcpy': identifier not found
.

Cosa dia qui?Non è String.h L'intestazione richiesta per strcpy?Così strcpy () dovrebbe compilare.Cos'è che non capisco o lo sappia?

Qualsiasi aiuto sarà più apprezzato.

È stato utile?

Soluzione

Il problema è che hai configurato il progetto per utilizzare le intestazioni precompile, ma non li stai usando.Basta regolare le impostazioni del progetto per non utilizzare intestazioni precompile.

Altri suggerimenti

Prova ad aggiungere esplicitamente sia #include <stdlib.h> #include <string.h>

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top