可能重复:
Why is it an error to use an empty set of brackets to call a constructor with no arguments?奇怪的编译错误
小块代码代码不能成功编译上
微软的Visual Studio 2005
#include <iterator>
#include <algorithm>
#include <vector>
#include <iostream>
int main()
{
std::vector<int> a;
std::istream_iterator<int> be(std::cin);
std::istream_iterator<int> en();
std::copy(be, en, std::back_inserter(a));
}
但这一个是好的
#include <iterator>
#include <algorithm>
#include <vector>
#include <iostream>
int main()
{
std::vector<int> a;
std::istream_iterator<int> be(std::cin);
std::istream_iterator<int> en; //Same to upon, only here less '()'
std::copy(be, en, std::back_inserter(a));
}
你得到的错误是什么?正如乔布斯所说 - *只是不要这样做!* :-) – littleadv