我遇到過這個C++問題:爲什麼「Foo f(Bar());」可以是一個函數的聲明,需要Bar類型並返回Foo類型?
問題:下面是一個定義還是聲明?
Foo f(Bar());
答:這可能是一個要麼是需要鍵入酒吧和回報Foo類型,或者是f
定義爲一種Foo
,它有一個構造函數型棒函數的聲明。問題是兩者的語法是相同的,所以爲了解決這個問題,C++標準規定編譯器必須首選函數聲明來對對象定義進行區分。
- 我不明白爲什麼它可以是「一個函數聲明需要類型Bar和返回類型Foo」?如何在參數列表中出現括號「()」?
JFC不是這個東西再次 –