为了账号安全,请及时绑定邮箱和手机立即绑定

老师:您好,为什么这样的代码编译不通过,错在哪里?

#include <string.h>

#include <iostream>

using namespace std;

int main(void)

{

//在堆中申请100个char类型的内存

    char *str = new char[100];

    //拷贝Hello C++字符串到分配的堆中的内存中

    strcpy(str, "Hello imooc");

    //打印字符串

    cout<<str<<endl;

    //释放内存

delete []str;

    str=NULL;

return 0;

}


正在回答

6 回答

在main前面加上 #pragma warning(disable:4996) 即可编译通过

0 回复 有任何疑惑可以回复我~

我也遇见了这个问题,度娘说是c语言遗留的问题。。。。。不过根据提示的警告,在头文件之前,也就是在#include之前加上

#define _CRT_SECURE_NO_WARNINGS  忽略警告,可以编译通过~~~不谢

0 回复 有任何疑惑可以回复我~

我也是这个问题

0 回复 有任何疑惑可以回复我~

我在vs2013也是编译不通过,提示要使用strcpy_s。

0 回复 有任何疑惑可以回复我~
#1

淡月微明

那你使用strcpy_s编译过了没?我的加不加_s都过不了,提示也是和楼主一样的错误位置
2015-09-18 回复 有任何疑惑可以回复我~
#2

jaden_ly 回复 淡月微明

我的也过不了,一直是那个地方的问题
2015-12-11 回复 有任何疑惑可以回复我~

delete那里出错了。

0 回复 有任何疑惑可以回复我~

没错,你再试试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

老师:您好,为什么这样的代码编译不通过,错在哪里?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信