Тема: declaration of 'operator()' as non-function
Всіх з приходом 2018 року! Будь ласка, подивіться, повідомлення про помилку я не зрозумію, не зрозумію що не так. Не бачу. А як же треба?
Ось тут
int operator()
{
if(0 == strcmp(c,"stop"))
{
II = 1;
return II;
}
}
ostream_operator2.cpp|29|error: declaration of 'operator()' as non-function|
#include <iostream>
class cls
{
char c;
int i;
public:
cls(char C = 0, int I = 0) : c(C), i(I)
{}
friend std::ostream& operator<< (std::ostream &out, cls &obj)
{
out<<obj.c<<" "<<obj.i;
return out;
}
friend std::istream& operator>> (std::istream &in, cls &obj)
{
in>> obj.c >> obj.i;
return in;
}
int operator()
{
if(0 == strcmp(c,"stop"))
{
II = 1;
return II;
}
}
};
int II=0;
main()
{
cls s('a',10),ss(' ',0);
std::cout<<"abc"<<std::endl;
std::cout<<s<<ss<<std::endl;
foreah ( ; II == 0; ss )
{
std::cin >> ss;
std::cout<<ss<<std::endl;
}
return 0;
}