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++ builder 编写和测试过的一个 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

问题是您将项目配置为使用预编译头文件,但您没有使用它们。只需调整您的项目设置以不使用预编译头文件。

于 2012-05-19T18:46:38.533 回答
1

#include <stdlib.h>然后尝试显式添加两者#include <string.h>

于 2012-05-19T18:48:55.463 回答