我编写的第一个程序拒绝在 Visual C++ 中编译,而且它似乎在抱怨没有为 istream 定义 '>>' 运算符。
仔细查看后,它似乎是正确的,所以我用 g++ 进行了检查,它编译得很好(并且 -Wall 没有警告)。
那么为什么它适用于 g++ 而不是 Visual C++ 呢?
这是程序:
#include <iostream>
#include <list>
int main() {
std::list<std::string> list;
std::string str = "";
std::cin >> str;
while (str.compare("q") != 0) {
list.push_back(str);
std::cin >> str;
}
std::cout << "You entered: \n";
for (std::list<std::string>::iterator i = list.begin(); i != list.end(); i++) {
std::cout << *i << std::endl;
}
return 0;
}
我曾认为为 Visual C++ 编写的 C++ 代码和为 g++ 编写的 C++ 代码在大多数情况下几乎相同。
它们有多大不同,你说这些问题多久出现一次,你知道我在哪里可以找到这些差异/陷阱吗?