CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums
Results 1 to 3 of 3

Thread: Error c2678

  1. #1
    Join Date
    Oct 2012

    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:

    #include "ItemType.h"
    void ItemType::addListing(ofstream& output) const
    		cout << "sorry cannot open file!" << endl;
    			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

  2. #2
    GCDEF is offline Elite Member Power Poster
    Join Date
    Nov 2003

    Re: Error c2678

    You didn't show the definition of the variable causing the error, channel.

  3. #3
    Join Date
    Oct 2002
    Timisoara, Romania

    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.
    Marius Bancila
    Home Page
    My CodeGuru articles

    I do not offer technical support via PM or e-mail. Please use vbBulletin codes.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Windows Mobile Development Center

Click Here to Expand Forum to Full Width

On-Demand Webinars (sponsored)