Re: function doesn't return simply skip the return line
hirsh.dan@gmail.com wrote:
On 21 ????????, 17:57, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
hirsh....@gmail.com wrote:
Hello to all, i have the following functions:
string File::readLine(){
char ch;
string str;
ch = read();
while(ch != LF && ch != CR && ch != -1){
str.append(1,ch);
ch = read();
}
if(ch == -1){
cout << "this line could not be read" << endl;
exit(1);
}
//take care of situation where the loop exited with LF but
//on a system that has CR.
int tmp = file->tellg();
if(read() != CR){ //if no CR available on system, return the get
pointer to it's correct location.
file->seekg(tmp);
}
return str;
}
the function is executed correctly but in the end it skips the "return
str" line,
and tun flies with an error.
debugging took me to a qt class moc_myclass.cpp (it's a qt project in
eclipse)
to a line where it says "_id -= 1;"
inside a function called "int myclass::qt_metacall(...)"
can anyone help me??????????
Since 'qt' is not part of C++, you should consider asking in the
newsgroup (or a web forum) dedicated to that. Apparently the code you
posted cannot be verified without the rest of the stuff (which you did
not post).
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
maybe, but it skips a regular c++ line of code,
How do you know? Did you step through it in the debugger? If the error
is returned, it's possible that an exception is thrown and then caught
by some invisible code. Qt runs some files through their own "meta
compiler" or something, and who know what kind of code they insert into
what you think is "regular c++"...
also if i put a cout before the call to return, it prints out (goes
there) but just before
return is supposed to execute, it flies
Examine the assembly.
don't you have any ideas why might that be happening,
Nope. Qt is not part of C++, and the sheer fact that you are using it
can render your program incomprehensible from the "regular c++" POV.
isn't my c++ code written well, what else should i post for you to get
the whole picture
?
Again, the code you posted is fine. However, you didn't post enough of
it, for example, what's happening in the 'read()' function?
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask