2013-09-06 10 views
0

Я пытался скомпилировать flann, но эта ошибка появляется! '' va_list 'не был объявлен' Может ли кто-нибудь помочь мне решить эту ошибку? Plz гильдии меня так просто, если у вас, я действительно новичок в программировании!Ошибка: .. 'va_list' не был объявлен

In file included from ./flann/nn/index_testing.h:41, 
       from ./flann/flann.hpp:43, 
       from src/common.hpp:12, 
       from src/main.cpp:9: 
./flann/util/logger.h:74: error: 'va_list' has not been declared 
Makefile:43: recipe for target `src/main.o' failed 
make: *** [src/main.o] Error 1 

Вот logger.h

#ifndef LOGGER_H 
#define LOGGER_H 

#include <cstdio> 
#include "flann/general.h" 


namespace flann 
{ 

class Logger 
{ 
    FILE* stream; 
    int logLevel; 

public: 

    Logger() : stream(stdout), logLevel(LOG_WARN) {}; 

    ~Logger() 
    { 
     if (stream!=NULL && stream!=stdout) { 
      fclose(stream); 
     } 
    } 

    void setDestination(const char* name) 
    { 
     if (name==NULL) { 
      stream = stdout; 
     } 
     else { 
      stream = fopen(name,"w"); 
      if (stream == NULL) { 
       stream = stdout; 
      } 
     } 
    } 

    void setLevel(int level) { logLevel = level; } 

    int log(int level, const char* fmt, ...); 

    int log(int level, const char* fmt, va_list arglist); 

    int fatal(const char* fmt, ...); 

    int error(const char* fmt, ...); 

    int warn(const char* fmt, ...); 

    int info(const char* fmt, ...); 
}; 

extern Logger logger; 

} 

#endif //LOGGER_H 
+0

возможно дубликат [в \ _list не был объявлен] (HTTP: // stackoverflow.com/questions/2364358/va-list-has-not-been-declared) –

ответ

4

Вы пропустите включаемые для соответствующих макросов

#include <cstdarg>