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
Bookmarks