所以我一直在尋找與下面的聲明一個String頭文件:.cpp的頭文件丟失的變量名
string(const char*);
如何使用輸入參數,如果有沒有爲它的變量名?另外,有沒有寫點變量名稱。如果你有一個方法需要2個相同類型的參數,我覺得你會被搞砸。但主要問題是我怎麼才能訪問這個輸入參數而沒有變量名。謝謝!
所以我一直在尋找與下面的聲明一個String頭文件:.cpp的頭文件丟失的變量名
string(const char*);
如何使用輸入參數,如果有沒有爲它的變量名?另外,有沒有寫點變量名稱。如果你有一個方法需要2個相同類型的參數,我覺得你會被搞砸。但主要問題是我怎麼才能訪問這個輸入參數而沒有變量名。謝謝!
就編譯器而言,在聲明函數時不需要知道參數的實際名稱。它所需要的只是函數的簽名:返回類型,名稱和參數類型。
當您的定義了函數時,即在源文件中,您只需要參數名稱。
// foo.h
void foo(const char*);
// foo.c
#include "foo.h"
void foo(const char * c) {
//OK
}
void bar(const char*) {
//Indeed, we have no way to access the parameter
}
只要這些簽名匹配,一切都會正常工作。如果這是你的頭文件,通常最好在聲明中包含參數名稱,因爲它是有用的文檔。
順便提一句,如果您實際上不需要該參數(但您必須使用特定的函數簽名,例如用於回調函數或虛函數),則即使在函數定義中也可以省略其名稱。這具有消除有關未使用參數的編譯器警告的優點。 –
這可能是原型。構造函數最有可能在其他地方用命名參數定義。 – 0x499602D2