I have this piece of code:
void NeighborsList::insertVertexes(const ifstream & inputFile)
{
int tempS, tempT;
for (int i = 0; i < numOfVertexes; i )
{
inputFile >> tempS;
inputFile >> tempT;
addEdge(tempS, tempT);
}
}
where I'm trying to get the input for a file. Once I remove the const in the function parameter - (ifstream & inputFile) it works.
CodePudding user response:
Given a const object or reference, only const operations may be performed. std::istream::operator>> is not a const operation, therefore it may not be used here.
It makes sense that std::istream::operator>> is not a const operation, because it alters the observable state of the stream. The read position on the file is changed, for example, as well as status indicators like fail and eof.
