/in/foo.cc:1:5: error: stray '##' in program
###C++ CODE
^~
/in/foo.cc:1:7: error: stray '#' in program
###C++ CODE
^
/in/foo.cc:1:8: error: 'C' does not name a type
###C++ CODE
^
In file included from /usr/include/c++/6/cstdlib:75:0,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/stdlib.h:100:8: error: 'size_t' does not name a type
extern size_t __ctype_get_mb_cur_max (void) __THROW __wur;
^~~~~~
In file included from /usr/include/stdlib.h:275:0,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/x86_64-linux-gnu/sys/types.h:33:9: error: '__u_char' does not name a type
typedef __u_char u_char;
^~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:34:9: error: '__u_short' does not name a type
typedef __u_short u_short;
^~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:35:9: error: '__u_int' does not name a type
typedef __u_int u_int;
^~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:36:9: error: '__u_long' does not name a type
typedef __u_long u_long;
^~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:37:9: error: '__quad_t' does not name a type
typedef __quad_t quad_t;
^~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:38:9: error: '__u_quad_t' does not name a type
typedef __u_quad_t u_quad_t;
^~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:39:9: error: '__fsid_t' does not name a type
typedef __fsid_t fsid_t;
^~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:44:9: error: '__loff_t' does not name a type
typedef __loff_t loff_t;
^~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:48:9: error: '__ino_t' does not name a type
typedef __ino_t ino_t;
^~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:55:9: error: '__ino64_t' does not name a type
typedef __ino64_t ino64_t;
^~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:60:9: error: '__dev_t' does not name a type
typedef __dev_t dev_t;
^~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:65:9: error: '__gid_t' does not name a type
typedef __gid_t gid_t;
^~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:70:9: error: '__mode_t' does not name a type
typedef __mode_t mode_t;
^~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:75:9: error: '__nlink_t' does not name a type
typedef __nlink_t nlink_t;
^~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:80:9: error: '__uid_t' does not name a type
typedef __uid_t uid_t;
^~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:98:9: error: '__pid_t' does not name a type
typedef __pid_t pid_t;
^~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:104:9: error: '__id_t' does not name a type
typedef __id_t id_t;
^~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:115:9: error: '__daddr_t' does not name a type
typedef __daddr_t daddr_t;
^~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:116:9: error: '__caddr_t' does not name a type
typedef __caddr_t caddr_t;
^~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:122:9: error: '__key_t' does not name a type
typedef __key_t key_t;
^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:132:0,
from /usr/include/stdlib.h:275,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/time.h:59:9: error: '__clock_t' does not name a type
typedef __clock_t clock_t;
^~~~~~~~~
/usr/include/time.h:75:9: error: '__time_t' does not name a type
typedef __time_t time_t;
^~~~~~~~
/usr/include/time.h:91:9: error: '__clockid_t' does not name a type
typedef __clockid_t clockid_t;
^~~~~~~~~~~
/usr/include/time.h:103:9: error: '__timer_t' does not name a type
typedef __timer_t timer_t;
^~~~~~~~~
In file included from /usr/include/stdlib.h:275:0,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/x86_64-linux-gnu/sys/types.h:136:9: error: '__useconds_t' does not name a type
typedef __useconds_t useconds_t;
^~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:140:9: error: '__suseconds_t' does not name a type
typedef __suseconds_t suseconds_t;
^~~~~~~~~~~~~
In file included from /usr/include/endian.h:60:0,
from /usr/include/x86_64-linux-gnu/sys/types.h:216,
from /usr/include/stdlib.h:275,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:108:17: error: '__uint64_t' does not name a type
static __inline __uint64_t
^~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/select.h:45:0,
from /usr/include/x86_64-linux-gnu/sys/types.h:219,
from /usr/include/stdlib.h:275,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/time.h:122:5: error: '__time_t' does not name a type
__time_t tv_sec; /* Seconds. */
^~~~~~~~
/usr/include/time.h:123:5: error: '__syscall_slong_t' does not name a type
__syscall_slong_t tv_nsec; /* Nanoseconds. */
^~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/select.h:47:0,
from /usr/include/x86_64-linux-gnu/sys/types.h:219,
from /usr/include/stdlib.h:275,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/x86_64-linux-gnu/bits/time.h:32:5: error: '__time_t' does not name a type
__time_t tv_sec; /* Seconds. */
^~~~~~~~
/usr/include/x86_64-linux-gnu/bits/time.h:33:5: error: '__suseconds_t' does not name a type
__suseconds_t tv_usec; /* Microseconds. */
^~~~~~~~~~~~~
In file included from /usr/include/stdlib.h:275:0,
from /usr/include/c++/6/cstdlib:75,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/x86_64-linux-gnu/sys/types.h:228:9: error: '__blksize_t' does not name a type
typedef __blksize_t blksize_t;
^~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:235:9: error: '__blkcnt_t' does not name a type
typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */
^~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:239:9: error: '__fsblkcnt_t' does not name a type
typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */
^~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:243:9: error: '__fsfilcnt_t' does not name a type
typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */
^~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:262:9: error: '__blkcnt64_t' does not name a type
typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */
^~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:263:9: error: '__fsblkcnt64_t' does not name a type
typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */
^~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/sys/types.h:264:9: error: '__fsfilcnt64_t' does not name a type
typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */
^~~~~~~~~~~~~~
In file included from /usr/include/c++/6/cstdlib:75:0,
from /usr/include/c++/6/stdlib.h:36,
from /in/foo.cc:4:
/usr/include/stdlib.h:292:4: error: 'size_t' has not been declared
size_t __statelen) __THROW __nonnull ((2));
^~~~~~
/usr/include/stdlib.h:322:4: error: 'size_t' has not been declared
size_t __statelen,
^~~~~~
/usr/include/stdlib.h:427:22: error: 'size_t' was not declared in this scope
extern void *malloc (size_t _