#include <iostream>
#include <iterator>
using namespace std;
int main()
{
istream_iterator<int> aa(cin);
istream_iterator<int> bb();
if (aa!=bb) cout << 1;
}
весьма компилится.
Вроде ведь, конструктор по умолчанию вызывается и в том, и другом случае?
Не пойму, в чем тут дело. Компилятор -- gcc version 4.3.2 (Debian 4.3.2-1.1)
Вы хотите сказать - наоборот. То, что вы сказали "компилируется", не компилируется, а то, что вы сказали "не компилируется", компилируется ))
Всё очень просто. Строка