-
October 3rd, 2012, 03:35 PM
#1
Error c2678
Ok, so I have researched and researched and have been through my code dozens of times, and I can not seem to figure out why I keep getting:
error C2678: binary '>>' : no operator found which takes a left-hand operand of type 'std::istream'
here's a snippet of my code:
Code:
#include "ItemType.h"
void ItemType::addListing(ofstream& output) const
{
output.open("prgmlisting.dat");
if(!output.is_open())
cout << "sorry cannot open file!" << endl;
else
{
cout << "please enter name of channel: ";
cin >> channel; //This is where I keep getting the error
output << channel << endl;
}
}
Also note that I have included #include <string> and #include <iostream> in ItemType.h
-
October 3rd, 2012, 03:50 PM
#2
Re: Error c2678
You didn't show the definition of the variable causing the error, channel.
-
October 4th, 2012, 01:48 AM
#3
Re: Error c2678
If channel is not a built-in type (bool, char, int, double, etc.) not a library class (such as std::string) that has overloaded the operator >>, then you need to explicitly overload operator>> to be able to use it like you did.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|