Frage

#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,"");
  }

Oben ist ein Codefragment aus einem C++-Programm, das ich vor einiger Zeit mit dem Borland C++ Builder geschrieben und getestet habe.Es klappt.Ich lerne jetzt Visual Studio 2010 und dachte mir, dass ich meine bisherige Arbeit nutzen würde, um etwas über Visual Studio zu lernen.

Ich erhalte eine Warnung und einen Fehler für den obigen Code, obwohl es sich bei dem obigen Code um echten C++-Code handelt.Ich kann in der VS-Dokumentation keine Hilfe finden, um zu erfahren, was ich falsch mache und wie ich es beheben kann.(Ich sage nicht, dass es nicht in der Dokumentation steht;Ich sage nur, dass ich es nicht finden kann).

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

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

Was gibt es hier?Ist string.h nicht der erforderliche Header für strcpy?Daher sollte strcpy() kompiliert werden.Was verstehe oder weiß ich nicht?

Jede Hilfe wird sehr geschätzt.

War es hilfreich?

Lösung

Das Problem ist, dass Sie das Projekt konfiguriert haben, um vorkompilierte Header verwenden, aber Sie verwenden sie nicht.Passen Sie einfach Ihre Projekteinstellungen an, um keine vorherkompilierten Header zu verwenden.

Andere Tipps

Versuchen Sie, beides explizit hinzuzufügen #include <stdlib.h> Dann #include <string.h>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top