你說這是重複之前,我已經看過這樣的:How to pass variable number of arguments from one function to another?通可變的參數個數
我有這樣的功能:
void tlog_function(t_log* logger, const char* message_template, ...) {
pthread_mutex_lock(&loggerLock);
log_function(logger, message_template, ...); // What I want to do..
pthread_mutex_unlock(&loggerLock);
}
而另一個這樣的功能,這是不是我的,我用它從第三方庫:
void log_function(t_log* logger, const char* message_template, ...);
正如你所看到的,我想要做的僅僅是一個互斥添加此功能,使其線程安全的,我知道我可以使用va_list
,但在這種情況下,我無法更改第二個函數的代碼,因爲它位於庫中,而我只有.h文件。
那麼,有什麼辦法可以做到這一點?
是否有任何等效函數'log_function(t_log * logger,const char * message_template,va_list args);'? –
@iharob不,沒有:( –
我不認爲它是可能的然後 –