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

上記は、Borland C++ ビルダーで以前に作成およびテストした C++ プログラムのコード フラグメントです。できます。私は現在 Visual Studio 2010 を学んでいるので、過去の仕事を Visual Studio の学習に役立てようと考えました。

上記のコードで警告とエラーが表示されますが、上記のコードは正当な C++ コードです。VS のドキュメントには、私が間違っていることとその修正方法を学ぶための助けが見つかりません。(ドキュメントにないと言っているのではありません。見つからないと言っているだけです)。

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

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

ここで何が得られますか?string.h は strcpy に必要なヘッダーではありませんか? したがって、strcpy() はコンパイルする必要があります。私が理解していない、または知らないことは何ですか?

どんな助けでも大歓迎です。

4

2 に答える 2

3

The problem is that you configured the project to use precompiled headers, but you are not using them. Just adjust your project settings to not use precompiled headers.

于 2012-05-19T18:46:38.533 に答える
1

#include <stdlib.h>次に、両方を明示的に追加してみてください#include <string.h>

于 2012-05-19T18:48:55.463 に答える