同樣的列表初始化,c語言不會報錯
#include
intsum
(a,b,c)
int a;
int b;
int c;
intmain()
正常執行
[running] cd "d:\程式\隨筆程式\2023年1月\" && gcc fun.c -o fun && "d:\程式\隨筆程式\2023年1月\"fun
73[done] exited with code=
0 in 6.014 seconds
但是c++會報錯:
#include
using
namespace std;
intsum
(a,b,c)
int a;
int b;
int c;
intmain()
[running] cd "d:\程式\隨筆程式\2023年1月\" && g++ canshuliebiao.cpp -o canshuliebiao && "d:\程式\隨筆程式\2023年1月\"canshuliebiao
canshuliebiao.cpp:3:
9: error:
'a' was not declared in this scope
intsum(a,b,c)
^canshuliebiao.cpp:3:
11: error:
'b' was not declared in this scope
intsum(a,b,c)
^canshuliebiao.cpp:3:
13: error:
'c' was not declared in this scope
intsum(a,b,c)
^canshuliebiao.cpp:3:
14: error: expression list treated as compound expression in initializer [
-fpermissive]
intsum
(a,b,c)
^canshuliebiao.cpp:7:
1: error: expected unqualified-id before '{' token {^
canshuliebiao.cpp: in function 'int main()'
:canshuliebiao.cpp:13:
22: error:
'sum' cannot be used as a function
cout <<
sum(2,
3,4)
;^[done] exited with code=
1 in 1.232 seconds
這是為什麼呢?我現在還不理解 建構函式 引數初始化列表
建立類物件時會自動呼叫建構函式 建構函式不需且不能手動呼叫 預設建構函式 在建立物件時不必給出實參的建構函式。包括無參建構函式和全部引數都有預設值的建構函式。如果使用者沒有定義建構函式,則系統會自動提供乙個預設建構函式,即上述的無參建構函式,函式體為空。當給類中的私有常量定義時,必須通過引數初始化列...
引數初始化列表
1 引數初始化列表 初始化類的成員有兩種方式,一是使用初始化列表,二是在建構函式體內進行賦值操作。對於內建型別,如int,float等,使用初始化類表和在建構函式體內初始化差別不是很大,但是對於類型別來說,最好使用初始化列表,為什麼呢?由下面的測試可知,使用初始化列表少了一次呼叫預設建構函式的過程,...
PHP 函式 引數可預設 引數初始化
public function construct repository null,transformer null public function construct repository null,transformer null 表示 repository transformer 這兩個引數是...