r.gmail wrote:
Hi all, when I try to compile the following simple code:#include <iostream> int main () { if (index > 0) { std::cout << "Here" << std::endl; } return 0; } using g++ 3.3.5 (Debian 1:3.3.5-13) version and also g++ version 4.1.1 (Fedora core 5), I don't have any warnings or errors during the compilation and the executable works fine, just prints "Here" to stdout. I suppose it works, using instead of "index", any other extern symbols defined in string.h or strings.h (simply the "compiler" compares the address of such functions with a null). My question is is it a standard behavior ? Should string.h be included in iostream ?
I believe that's implementation dependent. Your code, as posted, is ill-formed (index is undefined). As far as I can see, ISO/IEC 14882:2003 provides no guarantees as to what nested includes are in any standard header (hence the technical need to include <ostream> for cout).
_______________________________________________ help-gplusplus mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gplusplus
