variadic-functions

    2熱度

    2回答

    如果構造函數將其參數設置爲vararg(...),那麼似乎不可能創建一個僅將該變量傳遞給超類的子類。 對於正常功能的相同情況,有一個相關的問題需要修復:Wrapping a Vararg Method in ActionScipt但我無法使用超級調用工作。 基類: public class Bla { public function Bla(...rest) {

    7熱度

    1回答

    爲什麼下面的程序會拋出異常? public class MainClass{ public static void main(String[] argv){ callMethod(2); } public static void callMethod(Integer... i){ System.out.println("Wrapper");

    5熱度

    3回答

    是否可以在可變參數宏中的可變參數前添加默認參數? e.g我有宏觀像 #define MACRO(arg1, ...) func(arg1, ##__VA_ARGS__) 的版本,我想在宏添加2個默認參數變量參數之前,所以,它不應該影響到以前的版本。喜歡: #define MACRO(arg1, arg2 = "", arg3 = "", ...) func(arg1, arg2, arg3,

    0熱度

    1回答

    我一直努力讓我的一些代碼最初建在Mac下的Visual Studio 2008 Express的運行,並已運行到同一個可變一個奇怪的問題宏我用我的斷言代碼: 宏定義爲: #define SH_ASSERT(assertID, exp, description, ...) shAssertBasic(int(exp), assertID, description, __LINE__, __FILE_

    13熱度

    2回答

    當在Fedora 11編譯一些工作的代碼,我收到此錯誤: /usr/include/c++/4.4.1/cstdarg:56: error: ‘::va_list’ has not been declared 我使用: [[email protected] VTK]$ g++ --version g++ (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) 有誰知

    37熱度

    4回答

    我已經google了一下,才知道如何使用可變參數。但我想將我的可變參數傳遞給另一個方法。我會得到錯誤。怎麼做 ? -(void) aMethod:(NSString *) a, ... { [self anotherMethod:a]; // i m doing this but getting error. how to pass complete vararg to ano

    14熱度

    2回答

    我想建立一個命令,它類似於乳膠\cite{},它接受的參數,這樣 \cite{Wall91, Schwartz93} 一個逗號分隔的列表,我想通過每用參數表示的逗號分隔列表中的項目返回到另一個命令並返回各個結果的拼接。我想它是這樣的: \newcommand{\mycite}[1]{% \@for\var:=\split{#1} do{% \processCitation{\v

    5熱度

    3回答

    我認爲,目前採取List類型或具體類的Set的參數重構一些方法簽名 - List[Foo] - 使用重複參數來代替:Foo*。 更新:下面的推理是有缺陷的,沿着移動... 這將允許我使用同樣的方法名稱和重載它的基礎上的參數類型。使用List或Set這是不可能的,因爲List[Foo]和List[Bar]在擦除後具有相同類型:List[Object]。 在我的情況下,重構方法正常工作,scala.S

    2熱度

    4回答

    是否可以使用@selector和performSelector:(或類似的)與使用可變參數列表的方法? 我在寫一個可以分配委託來覆蓋默認行爲的類。在存在委託選擇方法的情況下,對該類的實例進行的調用將轉發給相同的相應委託方法,其中一些使用可變參數列表。 所以,舉例來說,我需要能夠創建檢索SEL參考和消息的方法中的委託對象像這樣: - (void)logEventWithFormat:(NSStrin

    6熱度

    2回答

    這是一個奇怪的問題,但是在將它傳遞給另一個函數之前,是否有一種標準的方法來處理va_list的內容?舉例來說,假設我有兩個功能,sum和vsum: int vsum(int n, va_list ap) { int total = 0; for (int i = 0; i < n; ++i) { total += va_arg(n, int); retur