int func( char );
int func( int );
void main ()
{
// +func; // error, can't resolve which func to use
+func( 0 ); // OK
}
basic question
In the MSDN I read the following example:
The first will generate an error as the comment states, but the second one compiles.
Please tell me: what does that + sing mean in front of the function call?
[edited by - xropi on October 18, 2002 9:22:35 AM]
Compiler Error C2244
''identifier'' : unable to resolve function overload
for those who don''t know them off by heart (c;
no, i don''t know why they''ve got pluses in there
''identifier'' : unable to resolve function overload
for those who don''t know them off by heart (c;
no, i don''t know why they''ve got pluses in there
If memory serves (I don''t have a compiler here at the moment to check), it should compile to "0 + func(0)".
The reason "+func(0)" is required instead of just "+func" is because adding zero to a char is just as valid as adding zero to an int, so you need to give the compiler more information about which function you''re referring to. ("+func(0)" refers to the int version. You''d need to cast the zero explicitly to a char to get the other function instead.)
At least, that''s what my memory tells me. It may be wrong; it''s been a while since I did much C++ coding.
--
Sean Timarco Baggaley
The reason "+func(0)" is required instead of just "+func" is because adding zero to a char is just as valid as adding zero to an int, so you need to give the compiler more information about which function you''re referring to. ("+func(0)" refers to the int version. You''d need to cast the zero explicitly to a char to get the other function instead.)
At least, that''s what my memory tells me. It may be wrong; it''s been a while since I did much C++ coding.
--
Sean Timarco Baggaley
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement