作者e12518166339 (耐綸)
看板C_and_CPP
標題[問題]linux 底下寫C++
時間Thu Jul 9 21:12:20 2009
不好意思
我是一個新手關於寫程式也是新手
我的作業系統是UBUNTU並不是因為我喜歡用LINUX而是因為我的需求是文書而已
沒要玩遊戲所以用LINUX可以避免掉很多不必要的麻煩
扯遠了
我有幾個問題要問
首先第一個問題是
我想學寫C++
於是我借來了C++ PRIMER 4/E 還C++程式藝術設計 5
由於爬文後發現大家比較推前者
於是我開始了學習之路
我才剛翻沒幾頁就碰到了第一個問題
我在終端機下是使用VIM來寫程式碼
但是副檔名到底要取.cc .C .cpp那個才對?
我照個書中的範例prog1
int main()
{
return 0;
}
之後用g++ prog1.cc
然後在終端機上打/.a.out
接著是 echo $?
這裡有幾個小問題
問題1:我再終端機底下用g++那是不是代表我編譯了prog1了呢?
再來是echo $?這是什麼意思?
後來下面的練習要我把返回0改成-1
我改了之後也沒有顯示任何錯誤
一樣echo $0 之後終端機還是顯示0
然後我想沒想太多繼續接著看1.2章輸入與輸出
我跟著打了範例2
#include <iostream>
int main()
{
std::cout<< "Enter two number:" << std ::end1;
int v1 v2
std::cout<< "The sum of"<< v1 <<" and " <<v2
<< "is"<< v1+v2 << std::end1;
return;
}
之後我的終端機執行結果為下
ylon7@nylon7-desktop:~/文件$ vim book.C
nylon7@nylon7-desktop:~/文件$ g++ book.C
book.C: In function 「int main()」:
book.C:4: 錯誤: 「end1」 不是 「std」 的成員
book.C:5: 錯誤: expected initializer before 「v2」
book.C:8: 錯誤: 在回傳 「int」 的函式中,回傳敘述不帶回傳值
nylon7@nylon7-desktop:~/文件$ cd 文件
bash: cd: 文件: 沒有此一檔案或目錄
nylon7@nylon7-desktop:~/文件$ ls
book.C
nylon7@nylon7-desktop:~/文件$ mv book.C book.cc
nylon7@nylon7-desktop:~/文件$ ls
book.cc
nylon7@nylon7-desktop:~/文件$ g++ book.cc
book.cc: In function 「int main()」:
book.cc:4: 錯誤: 「end1」 不是 「std」 的成員
book.cc:5: 錯誤: expected initializer before 「v2」
book.cc:8: 錯誤: 在回傳 「int」 的函式中,回傳敘述不帶回傳值
nylon7@nylon7-desktop:~/文件$ vim book.C
nylon7@nylon7-desktop:~/文件$ ls
book.C book.cc
nylon7@nylon7-desktop:~/文件$ rm -r book.C
nylon7@nylon7-desktop:~/文件$ vim book.cc
nylon7@nylon7-desktop:~/文件$ g++ book.cc
book.cc:2:1: 錯誤: 整數常數的「int」字尾無效
book.cc:2: 錯誤: expected unqualified-id before numeric constant
請問各位大大我這中間到底出了什麼問題??
不好意思麻煩各位了
--
林語堂:「中國就有這麼一群奇怪的人,本身是最底階層,
利益每天都在被損害,卻具有統治階級的意識,
在動物世界裡找這麼弱智的東西都幾乎不可能,」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.254.35.138
→ ilway25:endl 不是 1 .. 07/09 21:18
推 ckclark:int v1,v2; 07/09 21:20
→ e12518166339:是L不是壹阿@@? 07/09 21:22
→ MOONRAKER:沒有using namespace std; 你的版本有點舊了 07/09 21:27
→ MOONRAKER:除了看大家推薦什麼書以外 也要注意書的年份好ㄅㄟ 07/09 21:27
→ e12518166339:參照1F跟2F大大的改正我編譯成功了但出現了另個問題 07/09 21:29
→ e12518166339:Enter two number: 07/09 21:30
→ e12518166339:The sum of134514745 and -1077896968is-943382223 07/09 21:31
→ e12518166339:我沒有辦法輸入數字就連續跳2行出來了.......... 07/09 21:31
→ e12518166339:4F的大大...這本事2008/1月初板的@@ 07/09 21:32
→ windincloud:怎沒有人先跟他說要多下-Wall看錯誤訊息呀? 07/09 21:33
→ e12518166339:W大那個-WALL是在終端機下嗎? 07/09 21:36
→ judo1127:cout輸出 要輸入用cin吧...加油多看熟!! 07/09 21:41
推 zlw:原來你打成1沒有打小寫L,用細明體很真難看出來 07/09 21:48
推 typeotoco:建議加看一本 beginning Linux programming 4e 前幾章 07/09 21:54
推 zlw:裝個codeblocks來寫程式會比較好,直接用gdb還蠻難上手的 07/09 21:58
→ zlw:剛翻了一下C++ Primer裡面好像沒教你用debugger,但其實很重要 07/09 21:59
→ e12518166339:感謝各位大大...後來發現少打一行 07/09 22:03
→ e12518166339:std::cin >> v1 >> v2; 07/09 22:04
→ MOONRAKER:08/01的書裡面還沒有using namespace std?你開玩笑嗎? 07/09 22:04
→ e12518166339:因為太心急了所以沒仔細看 07/09 22:04
→ e12518166339:看了快2小時才看7頁= =感謝各位大大我會多用點心 07/09 22:05
→ e12518166339:我說真的= =沒有騙人...我特地翻到前面去看出版日 07/09 22:05
推 stonehomelaa:C++ PRIMER 4/E 是最新的版本耶 07/09 23:12
→ stonehomelaa:很顯然的你看錯書了,那本不是給寫程式的新手看的 07/09 23:13
→ weiyucsie:MOONRAKER 裡面沒寫using namespace std;有問題嗎? 07/09 23:20
→ weiyucsie:不是都有加std:: 了嗎? 07/09 23:20
推 milkdragon:XDDD 推樓上 07/10 03:13
→ MOONRAKER:好啦!我弄錯了 07/10 10:11