Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Dec 2005 13:04:47 -0500
From:      Nathan Vidican <nvidican@wmptl.com>
To:        Giorgos Keramidas <keramida@ceid.upatras.gr>
Cc:        davmiao@gmail.com, questions@freebsd.org
Subject:   Re: C++ compile error
Message-ID:  <43A301BF.5040509@wmptl.com>
In-Reply-To: <20051216170046.GB2712@flame.pc>
References:  <43A2DE53.7080207@wmptl.com> <979f20140512160813i5394e789u1d7624a625e893f@mail.gmail.com> <979f20140512160709n3530c01dmdad5714f8e30bc00@mail.gmail.com> <43A2DE53.7080207@wmptl.com> <9061.38.112.155.126.1134747675.squirrel@www.keyslapper.net> <979f20140512160709n3530c01dmdad5714f8e30bc00@mail.gmail.com> <43A2DE53.7080207@wmptl.com> <979f20140512160709n3530c01dmdad5714f8e30bc00@mail.gmail.com> <43A2DDCF.1030708@wmptl.com> <979f20140512160709n3530c01dmdad5714f8e30bc00@mail.gmail.com> <20051216170046.GB2712@flame.pc>

next in thread | previous in thread | raw e-mail | index | archive | help
Giorgos Keramidas wrote:
> On 2005-12-16 23:09, David Miao <davmiao@gmail.com> wrote:
> 
>>Dear list,
>>
>>I try to compile a hello world C++ program in FreeBSD 6.0, but get an
>>error as below:
>>
>>[dm@ORION ~/cpp]% CC -o hello hello.C
>>hello.C: In function `int main()':
>>hello.C:5: error: `cout' undeclared (first use this function)
>>hello.C:5: error: (Each undeclared identifier is reported only once
>>for each function it appears in.)
>>hello.C:5: error: `endl' undeclared (first use this function)
> 
> 
>>==quote of hello world code==
>>#include <iostream>
>>
>>int main()
>>{
>>    cout << "Hello World!" << endl;
>>
>>    return 0;
>>}
>>== end of quote==
> 
> 
> You have to add a line like this:
> 
>     using namespace std;
> 
> at the toplevel of your sources.  The example then works:
> 
>     keramida@flame[18:51]/tmp$ CC hello.C
>     keramida@flame[18:52]/tmp$ ./a.out
>     Hello World!
>     keramida@flame[18:52]/tmp$ diff -u hello.C.orig hello.C
>     --- hello.C.orig        Fri Dec 16 18:51:26 2005
>     +++ hello.C     Fri Dec 16 18:51:58 2005
>     @@ -1,5 +1,7 @@
>      #include <iostream>
> 
>     +using namespace std;
>     +
>      int main()
>      {
>          cout << "Hello World!" << endl;
>     keramida@flame[18:52]/tmp$
> 
> On 2005-12-16 10:31, Nathan Vidican <nvidican@wmptl.com> wrote:
> 
>>gcc assumes a '.C' file is ANSI C, not C++, try:
>>mv hello.C hello.cpp && gcc -o hello.exe hello.cpp
> 
> 
> Not really.  But it's a very good idea to use something that doesn't
> only differ in the case of the name from plain ANCI C, because
> transferring the files from Unix to other operating systems
> (i.e. Windows) may lose the case of the names some times :-)
> 
> On 2005-12-16 10:41, "Louis J. LeBlanc" <FreeBSD@keyslapper.net> wrote:
> 
>>I'm not nearly as adept with C++ as I am with C, Perl, and a few other
>>geek tools, but doesn't C++ default to the std namespace if none is
>>specified?
> 
> 
> It doesn't :-(
> 
> On 2005-12-17 00:13, David Miao <davmiao@gmail.com> wrote:
> 
>>Nathan,
>>
>>I'm learning c++ programming language by using "The complete c++
>>training course - second edition" (Harvey Deitel & Paul Deitel), hello
>>world is the first program in this book.  I'm totally puzzled by this
>>complex language when I compile my first program. Is this book out of
>>date?
> 
> 
> That's a pretty old book.  Judging from the sheer number of books these
> authors have listed in Amazon, I think it's pretty safe to consider it
> very out of date :(
> 
> 
>>This post may off topic of FreeBSD, sorry to other people...
> 
> 
> That's ok.  The list is, after all, "for general FreeBSD questions" :)
> 
> 
> 

If you want a GOOD book to start self-teaching C++, grab yourself 'C++ in 21 
Days' it's a classic, but GREAT starter book.

-- 
Nathan Vidican
nvidican@wmptl.com
Windsor Match Plate & Tool Ltd.
http://www.wmptl.com/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43A301BF.5040509>