all,I write a code like this in my mac os x 10.8,and when I use “gcc use_new.cpp -o use_new ” to compile it,but it throws wrong message like this:
Undefined symbols for architecture x86_64: "std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))", referenced from: _main in ccr2vrRQ.o "std::basic_ostream<char, std::char_traits<char> >::operator<<(void const*)", referenced from: _main in ccr2vrRQ.o "std::basic_ostream<char, std::char_traits<char> >::operator<<(double)", referenced from: _main in ccr2vrRQ.o "std::basic_ostream<char, std::char_traits<char> >::operator<<(int)", referenced from: _main in ccr2vrRQ.o "std::basic_ostream<char, std::char_traits<char> >::operator<<(unsigned long)", referenced from: _main in ccr2vrRQ.o "std::ios_base::Init::Init()", referenced from: __static_initialization_and_destruction_0(int, int) in ccr2vrRQ.o "std::ios_base::Init::~Init()", referenced from: __static_initialization_and_destruction_0(int, int) in ccr2vrRQ.o "std::cout", referenced from: _main in ccr2vrRQ.o "std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)", referenced from: _main in ccr2vrRQ.o "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from: _main in ccr2vrRQ.o "operator delete(void*)", referenced from: _main in ccr2vrRQ.o "operator new(unsigned long)", referenced from: _main in ccr2vrRQ.o ld: symbol(s) not found for architecture x86_64 collect2: error: ld returned 1 exit status
and when I use “g++ use_new.cpp -o use_new” is OK,who can help me!? thank you!
#include <iostream> struct fish { float weight; int id; int kind; }; int main() { using namespace std; int* pt = new int; *pt = 1001; cout<<"int: "<<*pt<<"in location: "<<pt<<endl; double* pd = new double; *pd = 100000001.0; cout<<"double: "<<*pd<<"in location: "<<pd<<endl; cout<<"int point pt is length "<<sizeof(*pt)<<endl; cout<<"double point pd is length "<<sizeof(*pd)<<endl; delete pt; delete pd; cout<<(int *)"How are you!"<<endl; return 0; }