1樓:誰把誓言換流年
看了一下錯誤太多,但總體分為兩類,給你說一下你自己改:
後面不能定義乙個point[n],而是typedef struct nodepoint;然後定義point point[n]這此時point 為型別而point[n]為定義的陣列。
2.無論是cin>>操作還是『=』操作符都不能直接用於陣列名而是乙個個的對比陣列的成員,比如要讓陣列a等於陣列b的內容,就需要寫個迴圈a[i]=b[i]這樣讓每乙個成員相等,而a=b是不行的,還有cin>>也一樣,要輸入陣列就得乙個個的輸入cin>>a;是錯誤的。
2樓:網友
#define m 3;
這裡出錯,3後面不需要分號。
typedef struct node point[n]出錯。
這裡你如果需要定義乙個型別用 typedef ..型別名。
如果你需要定義乙個陣列,用 struct node point[n]
如果想同時進行,typedef struct node pointtype;
pointtype point[n];
基本上就這兩個語法錯誤比較明顯,先改了看看還有啥問題吧。
c++中是如何實現函式過載的?
3樓:網友
函式過載,簡單來說 就是乙個函式名稱,但是有多個函式定義,它們是通過函式引數來區分的,比如 int a() // 函式定義1
int a(int p) // 函式定義2,引數 和 定義1不一樣,視為過載。
實際上,c++ 的函式過載比較複雜,因為這涉及到了 c++ 隱晦的型別 轉換問題,深入之後自然會碰到(不過也不必擔心,通常不會碰到這個問題,除非應聘工作時哪些主考官們可能會考考這類問題)。
至於 c++ 編譯器怎麼實現函式過載的,這主要通過 一種 叫 name-mangling 的技術,這種技術在編譯器編譯函式時,根據函式引數、引數型別 引數個數 等資訊, 悄悄地改寫函式名字,當然改寫後的名字是供編譯器使用的,程式設計師往往不可見的。
如果你不需要在 c++中使用 name-mangling 技術,必須 在 函式 前面 加上 extern "c" , 表示不使用 name-mangling 技術,這也就是 為什麼 前面有 extern "c" 宣告的。
函式 不能過載的原因。
extern "c" int a()
extern "c" int a(int p) //編譯錯誤,
4樓:網友
首先你要理解什麼叫函式過載。
即乙個函式多種實現。也可以說是他更細的劃分。
舉個例子:乙個函式叫商品。它下面又分為:家電,日用品,運動。。。
實現:同名,返回值型別不同或者形參不同。其中注意帶const型的。
5樓:網友
c++的函式過載有兩種:
1,通過繼承實現過載,典型的應用就是虛擬函式。
2,同名函式過載,函式名相同,引數型別、個數、返回值不同。
6樓:奮鬥的懷超
引數的個數型別不同函式名相同。
7樓:網友
形參的型別和個數、返回值的型別。
c過載函式,c中函式過載的原則是什麼啊?
c 的函式過載是指 過載函式的名稱和返回值要相同,而形參不同。形參不同包括形參的個數和形參的型別,即不同的形參列表。返回值和形參個數可以相同排除a c 函式名不同就不叫過載了排除d 應該是c c 中函式過載的原則是什麼啊?函式過載的定義 函式過載是指在同一作用域內,可以有一組具有相同函式名,不同引數...
c中不能作為函式過載依據的是什麼?aconstb返
b 返回型別 不能作為過載函式的依據,因為函式的返回值並不是總是用到,所以不能作為過載依據。關於a選項,我在c primer上看到 對於函式值傳遞的情況,因為引數傳遞是通過複製實參建立一個臨時變數傳遞進函式的,函式內只能改變臨時變數,但無法改變實參。則這個時候無論加不加const對實參不會產生任何影...
C中的建構函式可以被過載嗎舉個例子
當然可以。版 權public class test test string s public static void main string main 可以,也經常會過載,最常見的是無慘建構函式和有引數的建構函式,例子我就不舉了,如果沒幫助就無視吧。c 建構函式和解構函式可以過載嗎 建構函式可以被過...