to be short and sweet, this is happening right now and has never happened to me before today:
g++ assn1m.c segment.cpp
/tmp/cc2yUKRO.o: In function `bit_to_ascii(char const*, char*)':
segment.cpp:(.text+0x0): multiple definition of `bit_to_ascii(char const*, char*)'
/tmp/cc2Xgj7t.o:assn1m.c:(.text+0x0): first defined here
/usr/lib/gcc/i586-suse-linux/4.4/../../../crt1.o: In function `_start':
/usr/src/packages/BUILD/glibc-2.10.1/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main'
collect2: ld returned 1 exit status