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
$