我正在使用Intel C++编译器icc版本18.0.3。
如果我使用-w3
编译以下代码
#include <vector>
int main() {
std::vector<int> vec;
vec.push_back(2);
return 0;
}
test_w3.cpp(6): remark #383: 值被复制到临时位置,引用了临时位置 vec.push_back(2);
将2
替换为常量变量
#include <vector>
int main() {
std::vector<int> vec;
const int a = 2;
vec.push_back(a);
return 0;
}
没有提供警告。
这个警告是什么意思?它可以安全地忽略吗(尽管无警告的代码是可取的)?
-Wall
替换-w3
,连 icc 也不会对相同的代码进行抱怨。 - Useless