[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

C++: istream_iterator<string> has no component named operator!=.



What am I doing wrong?
Summary:

Breakpoint 1, main () at main.cc:15
15          for (; iter1 != iter2; iter1++) cout << *iter1;
(gdb) p iter1 != iter2
Structure has no component named operator!=.
(gdb) 

Full details:

$ cat main.cc
#include <algorithm>
#include <fstream>
#include <iostream>
#include <iterator>
#include <string>

using namespace std;

int main() 
{
    ifstream input("main.cc");
    istream_iterator<string> iter1(input), iter2, eof;
    iter1 = find(iter1, iter2, "main()");
    iter2 = find(iter1, eof, "}");
    for (; iter1 != iter2; iter1++) cout << *iter1;
    cout << "\n";
    return 0;
}

$ g++-3.0 -Wall -ggdb -o main main.cc
$ $ ./main 

$ gdb main
(gdb) b 15
Breakpoint 1 at 0x804d6b8: file main.cc, line 15.
(gdb) r
Starting program: /tmp/main 

Breakpoint 1, main () at main.cc:15
15          for (; iter1 != iter2; iter1++) cout << *iter1;
(gdb) p iter1 != iter2
Structure has no component named operator!=.
(gdb) 


Debian version is testing.
-- 

    Shaul Karl
    email: shaulka(at-no-spam)bezeqint.net 
           Please replace (at-no-spam) with an at - @ - character.
           (at-no-spam) is meant for unsolicitate mail senders only.




Reply to: