Re: converting from IPADDRESS string to unsigned char array
On Mon, 31 Mar 2008 04:14:35 -0700, sam.barker0 wrote:
Hi,
Iam using the above code in a class
in the .cc file
std::istream & myclass::operator>>(std::stringstream & strm,
std::vector<int> & v) {
if(strm.good()) {
int temp = ~0;
strm >> temp;
v.push_back(temp);
}
return strm;
}
myclass::getIP(string str)
{
std::stringstream stream("12.12.1.12");
std::vector<int> v;
while(stream.good()) {
stream >> v;
stream.ignore();
}
std::copy(v.begin(),v.end(),std::ostream_iterator<int>(std::cout,"\n"));
}
I am getting the error
error: 'std::istream& myclass::operator>>(std::stringstream&,
std::vector<int, std::allocator<int> >&)' must take exactly one argument
I do understand what it means but i dont know how to solve it. How does
it work when I just copy the code intoa file and compile it
Compare what I wrote and what you wrote with these examples:
1)----------------------------------------------------------
class A {
public:
int d_var;
A(int v) : d_var(v) {}
};
void operator>>(A const & a, A & b) {
b.d_var = a.d_var;
}
int main() {
A d(1),c(0);
d >> c;
return 0;
}
2)----------------------------------------------------------
class A {
public:
int d_var;
A(int v) : d_var(v) {}
void operator>>(A & b) {
b.d_var = d_var;
}
};
int main() {
A d(8),c(4);
d >> c;
return 0;
}
--
OU