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

Thread: Error c2678

  1. #1
    Join Date
    Oct 2012
    Posts
    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

  2. #2
    GCDEF is offline Elite Member Power Poster GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+) GCDEF has a reputation beyond repute (3000+)
    Join Date
    Nov 2003
    Posts
    11,575

    Re: Error c2678

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

  3. #3
    cilu's Avatar
    cilu is offline Moderator/Reviewer/MS MVP Power Poster cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+) cilu has a reputation beyond repute (3000+)
    Join Date
    Oct 2002
    Location
    Timisoara, Romania
    Posts
    14,349

    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.

+ Reply to Thread

Bookmarks

Posting Permissions

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



HTML5 Development Center

Click Here to Expand Forum to Full Width