g++版本太低了,连iostream都不支持

来源:互联网 发布:按键精灵文字输出源码 编辑:程序博客网 时间:2024/06/11 04:58

testbigsmall.cpp

#include <iostream>

using namespace std;

bool bigCheck()
{
    union Check
    {
        char a;
        int data;
    };

    Check c;
    c.data = 1;
    
    if (1 == c.a)
    {
        return false;
    }

    return true;
}

int main()
{
    if (bigCheck())
    {
        cout << "big" << endl;
    }
    else
    {
        cout << "small" << endl;
    }

    return 0;
}

$ g++ testbigsmall.cpp -o testbigsmall

/usr/include/c++/4.4.7/bits/stringfwd.h:42: error: expected constructor, destructor, or type conversion before ‘(’ token
/usr/include/c++/4.4.7/bits/stringfwd.h:51: error: expected type-specifier before ‘allocator’
/usr/include/c++/4.4.7/bits/stringfwd.h:51: error: expected `>' before ‘allocator’
/usr/include/c++/4.4.7/bits/stringfwd.h:51: error: expected unqualified-id before ‘>’ token
/usr/include/c++/4.4.7/bits/stringfwd.h:56: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/bits/stringfwd.h:61: error: expected initializer before ‘<’ token
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/stddef.h:152: error: expected constructor, destructor, or type conversion before ‘typedef’
/usr/include/c++/4.4.7/cstddef:49: error: expected constructor, destructor, or type conversion before ‘(’ token
/usr/include/stdio.h:46: error: expected constructor, destructor, or type conversion before ‘typedef’
/usr/include/c++/4.4.7/cwchar:65: error: expected constructor, destructor, or type conversion before ‘(’ token
/usr/include/c++/4.4.7/cwchar:69: error: ‘_GLIBCXX_END_NAMESPACE’ does not name a type
/usr/include/c++/4.4.7/cwchar:230: error: ‘_GLIBCXX_END_NAMESPACE’ does not name a type
/usr/include/c++/4.4.7/cwchar:258: error: ‘_GLIBCXX_END_NAMESPACE’ does not name a type
/usr/include/c++/4.4.7/cwchar:263: error: ‘::__gnu_cxx’ has not been declared
/usr/include/c++/4.4.7/cwchar:264: error: ‘::__gnu_cxx’ has not been declared
/usr/include/stdint.h:37: error: expected constructor, destructor, or type conversion before ‘typedef’
/usr/include/c++/4.4.7/bits/postypes.h:70: error: expected constructor, destructor, or type conversion before ‘(’ token
/usr/include/c++/4.4.7/bits/postypes.h:98: error: ‘ptrdiff_t’ does not name a type
/usr/include/c++/4.4.7/bits/postypes.h:115: error: ‘streamoff’ does not name a type
/usr/include/c++/4.4.7/bits/postypes.h:133: error: expected `)' before ‘__off’
/usr/include/c++/4.4.7/bits/postypes.h:137: error: expected type-specifier before ‘streamoff’
/usr/include/c++/4.4.7/bits/postypes.h:154: error: declaration of ‘operator+=’ as non-function
/usr/include/c++/4.4.7/bits/postypes.h:154: error: expected ‘;’ before ‘(’ token
/usr/include/c++/4.4.7/bits/postypes.h:164: error: expected `;' before ‘fpos’
/usr/include/c++/4.4.7/bits/postypes.h:165: error: declaration of ‘operator-=’ as non-function
/usr/include/c++/4.4.7/bits/postypes.h:165: error: expected ‘;’ before ‘(’ token
/usr/include/c++/4.4.7/bits/postypes.h:177: error: expected `;' before ‘fpos’
/usr/include/c++/4.4.7/bits/postypes.h:178: error: ‘streamoff’ has not been declared
/usr/include/c++/4.4.7/bits/postypes.h:192: error: ‘streamoff’ has not been declared
/usr/include/c++/4.4.7/bits/postypes.h:205: error: expected ‘;’ before ‘operator’
/usr/include/c++/4.4.7/bits/postypes.h:207: error: expected `;' before ‘}’ token
/usr/include/c++/4.4.7/bits/postypes.h: In constructor ‘fpos<_StateT>::fpos()’:
/usr/include/c++/4.4.7/bits/postypes.h:124: error: class ‘fpos<_StateT>’ does not have any field named ‘_M_off’
/usr/include/c++/4.4.7/bits/postypes.h: At global scope:
/usr/include/c++/4.4.7/bits/postypes.h:239: error: ‘_GLIBCXX_END_NAMESPACE’ does not name a type
/usr/include/c++/4.4.7/iosfwd:62: error: expected type-specifier before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:62: error: expected `>' before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:62: error: expected unqualified-id before ‘>’ token
/usr/include/c++/4.4.7/iosfwd:66: error: expected type-specifier before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:66: error: expected `>' before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:66: error: expected unqualified-id before ‘>’ token
/usr/include/c++/4.4.7/iosfwd:70: error: expected type-specifier before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:70: error: expected `>' before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:70: error: expected unqualified-id before ‘>’ token
/usr/include/c++/4.4.7/iosfwd:74: error: expected type-specifier before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:74: error: expected `>' before ‘allocator’
/usr/include/c++/4.4.7/iosfwd:74: error: expected unqualified-id before ‘>’ token
/usr/include/c++/4.4.7/iosfwd:127: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:132: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:133: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:134: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:135: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:142: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:147: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:148: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:149: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/iosfwd:150: error: expected initializer before ‘<’ token
/usr/include/c++/4.4.7/exception:35: error: ‘#pragma’ is not allowed here
/usr/include/c++/4.4.7/exception:144: error: expected declaration before end of line
ASBLX32:/home/shujiey/test
$ g++44 testbigsmall.cpp -o testbigsmall
aaa:/home/shujiey/test
$ g++ --version                       
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

aaa:/home/shujiey/test
$ g++44 --version                       
g++44 (GCC) 4.4.7 20120313 (Red Hat 4.4.7-1)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

aaa:/home/shujiey/test
$

0 0