错误:‘strcpy’在此作用域中尚未声明
2013-11-06 20:15
2546 查看
最近工作需要,强化一下C++,
用久了eclipse,所以就继续使用Eclipse CDT环境学习C++。
今天按照《Thinking in C++》中的实例调代码,
提示错误:错误:‘strcpy’在此作用域中尚未声明
修改方法:
把原来的
改为:
问题就解决了。接触C和C++比较少,现在还不明白要为什么这么改,是编译器版本不同的原因嘛。。。
最近查了一下,
<string.h>是表示以前的格式,老格式,C的头文件,对应的是基于char*的字符串处理函数;。现在建议不加.h,但是要与以前的版本兼容。
<cstring>表示引用C的头文件。
<string>表示引用C++的头文件。包装了std 的C++头文件,对应的是新的string 类。
这里有一篇不错的文章:
/article/11600524.html
用久了eclipse,所以就继续使用Eclipse CDT环境学习C++。
今天按照《Thinking in C++》中的实例调代码,
提示错误:错误:‘strcpy’在此作用域中尚未声明
修改方法:
把原来的
#include <string.h>
改为:
#include <cstring>
问题就解决了。接触C和C++比较少,现在还不明白要为什么这么改,是编译器版本不同的原因嘛。。。
最近查了一下,
<string.h>是表示以前的格式,老格式,C的头文件,对应的是基于char*的字符串处理函数;。现在建议不加.h,但是要与以前的版本兼容。
<cstring>表示引用C的头文件。
<string>表示引用C++的头文件。包装了std 的C++头文件,对应的是新的string 类。
这里有一篇不错的文章:
/article/11600524.html
相关文章推荐
- C++中“在此作用域中尚未声明”的错误解决
- Linux编译错误:‘cout’在此作用域中尚未声明
- C++中“在此作用域中尚未声明”的错误解决
- C++中“在此作用域中尚未声明”的错误解决
- /usr/local/include/libavutil/common.h:170:47: 错误: ‘UINT64_C’在此作用域中尚未声明
- 错误:‘lock_guard’ 在此作用域中尚未声明
- 错误: ‘EOF’在此作用域中尚未声明
- C++中“在此作用域中尚未声明”的错误解决
- cygwin下面c++编译 在此作用域中尚未声明
- Qt4.8.4编译X86出错:/usr/include/linux/futex.h:96: 错误:‘u32’ 在此作用域中尚未声明
- c++ ‘nullptr’ 在此作用域中尚未声明
- 小议 “undefined reference to” 与 “在此作用域中尚未声明”
- Linux下stricmp在此作用域中尚未声明解决办法
- ‘ostream_iterator’ 在此作用域中尚未声明
- 错误:‘uuid_t’在此作用域中尚未声明
- 线程性能测试 top 错误:‘gettid’ 在此作用域中尚未声明
- Linux下‘stricmp’在此作用域中尚未声明解决办法
- Linux下stricmp在此作用域中尚未声明解决办法
- QT4.8.1和Qt4.8.4编译X86出错:/usr/include/linux/futex.h:96: 错误:‘u32’ 在此作用域中尚未声明
- Linux编译错误:‘cout’在此作用域中尚未声明