1樓:匿名使用者
1全部我覺得因為系統已經有swap函式了。如果宣告在前面,編譯器會使用自定義的swap函式
否者使用標準庫中的swap函式,見
2樓:
你的swap()函式宣告要寫到main()外面。不然作用域的緣故,不起作用。
3樓:匿名使用者
手上沒有vc6.0,不好測試
不過vc6算是比較老的東西了,對c++支援並不好。
因為當時vc6出來時,c++的標準還沒確定呢。
雖然打上一些補丁或許可以應付,但我是建議換個編譯軟體了,至少現在也要用vc2005以後的版本了,
如果當心vc2005之後的版本太過龐大,那麼可以用devc++之類的gnu軟體,雖然有些版本也有些舊了,但對c++的支援還是十分不錯的。
這個情況,我用devc++測過,完全是沒有問題的。
4樓:
你 的寫法也不錯,不夠在main()函式前必須加一句函式說明,方法是:
在main()函式前面加一句
void swap(int &a,int &b);
或者這一句也可以:
void swap(int &,int &);
5樓:
雖然我學的是c,但貌似c++裡面也不能把函式的宣告放在main中吧?你給成下面的程式試試,應該就可以了。
#include
using namespace std;
void swap(int &a,int &b);
int main()
void swap(int &a,int &b)
6樓:遮天灬傲屹
把swap函式放在main函式之後,那麼你要在開始時申明該函式
如void swap(int ,int );
int main。。。。。。
7樓:lee木頭人
你電腦上如果有編譯器的話,你把後面的程式除錯一下,在呼叫函式的地方設定斷點然後一步一步執行看看,觀察下程式執行的步驟,可能就會看出問題來了
8樓:匿名使用者
把swap的函式宣告放在主函式前面,別放在主函式裡面
c++的一個奇怪的現象
9樓:匿名使用者
期望double截斷後比較?這要分析浮點小數表示,這和數學不一樣,你要研究ieee的double格式了。
你可以認為這種轉換總是有誤差的,所謂的「正常」恰恰是異常情況
我有c++程式的一個困惑:不知道怎麼定義或者包含檔案?希望各位幫幫忙喲
10樓:汪好帥
你的意思是分解函式實現與函式宣告,變數宣告吧。
把類變數、函式定義部分放到.h中,函式實現部分放到.cpp部分。.cpp中包含前面定義的類標頭檔案
11樓:肖婷
如果是自己定義的標頭檔案,就要先把它放進到include資料夾裡,再寫程式時菜可以引用,用#include「 」
12樓:匿名使用者
包含檔案當然是用#include<>了。。。。
關於c++的迷惑求大蝦指點!
13樓:小倍王子
1全部先講講介面到底是怎麼一回事,比如windows下的應用程式,它們其實是windows作業系統(比如xp,win7)他們提供給我們使用的介面,也稱api。
比如我要開啟一個視窗,windows作業系統提供給c++4個函式,依次執行它們就可以生成一個視窗。
一些廠商的產品,vc++,dephi,qt等,它們和c++不是一個概念,是用c++做出來的各種工具庫,他們把windows api都封裝在了裡面,便於使用。
比如vc++裡面的mfc,可以幫助你很輕鬆的寫出各種功能。它把windows程式的很多功能函式都封裝成一個個類,你只需要使用它的函式就行了。
我的建議是,只學windows api,因為它才是最本質的東西。其他的任何東西都只是在不斷的組織windows api。
vc6.0是很好的編譯器,對初學者來說已經完全足夠了
14樓:_笑_哭
那個是windows api的東西,你可以買本書自己學。不過比較難哈。。。
15樓:
都會經歷這個過程!
個人覺得確實要做點東西出來,有點成就感,才有學習的動力!
你可以學習一下圖形介面庫,想mfc、qt 、wxwidget之類的!
16樓:匿名使用者
花幾個月時間折騰一下cximage和mfc弄個影象瀏覽器出來。絕對有收穫。
有關c++的困惑。。求解答
17樓:桌上的_杯具
c語言毫無疑問是當今最強大的語言,無論windows,linux,mac,還是ios,都是以c語言為基礎編寫的。如果你要做win32應用程式,只要技術到位,c++完全可以滿足你的一切需求
18樓:匿名使用者
win32是平臺名字, c++是語言名字, 有什麼衝突嗎
19樓:匿名使用者
c++ 開發的東西 穩定性很好的
20樓:匿名使用者
寫洗衣機,數碼電視機,都屬於微控制器程式,用c 語言的多。
c++ 主要用來開發一些 大型應用程式,很穩定。
本人看了c++之後有些疑惑: 當幾個人分工編寫一個程式的時候怎麼樣才能最後組合成一個程式,實現功能?
21樓:
一般不會出現這種分工的,不會出現幾個人負責一個類的。一般都是約定好介面。然後各寫各地,最後再合併起來。
22樓:國家理念
使用協作系統。
比如svn,cvs(已經被淘汰了好像)等等,如果是vs下,可以試試team foundation server
23樓:申江漁夫
通常分工是各自完成不同模組的,如果互相之間有呼叫,就定義約定好的介面。
24樓:燕子嘎哈桃保店
軟體開發文件詳細規定了各種藉口和類的規範,只要嚴格按照這個文件來,不會有問題的。這個文件的制定,則需要做系統設計的人來做,這個人一般是經驗比較豐富的。
25樓:
大家商量好來做的。不同的人做不同的分工。
使用qt gui編寫了一個c++程式,執行一段時間就報異常退出,非常困惑
26樓:匿名使用者
目測是裡邊你想銷燬另外一個執行緒裡的定時器造成的。請檢查。
另外鎖mutex在等待的時候,被定時器中斷也是一個可能。
27樓:海獅
你這個問題不好改,是你學習的時候沒有注意到:
qt的手冊裡面寫了:
每一個qobject(所有的介面及元素)僅在它所在的執行緒中生存。
所以估計你是在介面中建立了qhttp,然後會導致此錯誤,無法修正,因為一開始就錯了。
不允許在介面中這樣做!
28樓:匿名使用者
infinite wait has timed out.
我在編寫幾百行以上的c++程式時遇到的困惑
29樓:
呵呵,樓主這個問題說簡單也很簡單——多寫多看別人優秀**,積累經驗,知道什麼時候該子函式什麼時候不該就好了
說複雜也複雜,因為你所問的問題也是無數世界頂級程式設計師和大師們都在**卻很難達成標準答案的問題,就是源**的組織方式和程式設計規範。
如果樓主是希望深入研究的話建議你看看《**大全》。這個的經典程度就不用我多介紹了。
如果只是隨便問問有什麼技巧的話,那就很多拉,根據具體情況決定。比如可以用結構體或者物件導向裡面的物件來傳遞以減少引數數量,用陣列儲存引數再傳遞指標,程式不太大的話用全域性變數(慎用)傳遞。當然最根本的引起問題的原因我覺得還是你的函式設計的不合理,不該子函式的地方子函式了,不用傳或者可以改變形式少傳的引數被傳遞了。
這個多積累經驗,看看大師**就好了。
祝你好運,希望能幫助你
30樓:crazy_小豬
可以把大家一起使用的變數宣告成成員變數。但是有缺點,就是耦合性會增加還有就是你的設計邏輯是不合理的,你說的這句話:
「還有種情況是某個子函式沒有用到那麼多引數,但是他呼叫的另一個子函式卻需要某些引數,所以我不得不在原來這個子函式中增加引數,來傳遞給他的子函式」
其實,每個函式實現的過程都是單一的,既然別的函式要想該函式,不得不在原來的子函式中增加引數,那麼說明這個函式不適合呼叫這個子函式。
31樓:小白範
一定要用物件導向的思維去設計,這樣才能把繁雜的資料分離開來。
以前:程式=演算法+資料結構
所有的資料都是在同一個層面上。
後來:物件=演算法+資料結構
程式=物件+物件+。。。
在類裡面,很好的把資料進行了封裝。有些做成類的成員變數,相當於類內部的「全域性變數」,成員函式訪問時不需要傳遞引數的。
C語言程式,一個C語言程式
include define n 2010 int head n way n du n rudu n n,f n len,fa n struct recda 2000000 inline void add int a,int b,int c void search int a bool read i...
簡單的C程式,一個簡單的C程式
void creat tree b 因為傳的是地址,所以,這裡是 b int main c沒有引用的。因為你這裡create tree b 這裡b是形參,棧變數,在函式呼叫結果後棧變數會被 所以造成了沒辦法把值傳出來。可以用t的地址來傳.改一下create tree pb 裡面也做相應的修改。這樣 ...
C程式的問題,一個C程式的問題
void snake 定義一個2維陣列並且賦值為0 int i 0,j 0,t 2,n,m i,j分別表示行和列printf 輸出蛇行方陣 n printf 請輸入方陣的階數 fflush stdin scanf d n printf 請輸入方陣的起始值 fflush stdin scanf d t...