#include<iostream>
using namespace std;
int main()
{
char a[5],b[5];
cout<<strlen(a)<<endl;
strcpy(a,b);
}
当我使用 g++ filename.cpp
编译代码时,代码编译没有问题,但是当我的 friend 尝试使用 dev-c++ 编译时,他们会出错!
基于 cplusplus.com ,我才是应该出错的人!!
所以我只是想知道是什么导致了这里的差异?
P.S: 我尝试了不同版本的 C++ 使用 -std=c++98
throw -std=c++2a
最佳答案
strlen
和 strcpy
在 <cstring>
中声明 header 。一些标准库实现可能包含在 <iostream>
中,有些人可能不会。这解释了为什么它可能会使用某些设置而不是其他设置进行编译。
关于strlen 和 strcpy 的 C++ 编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62091419/