2016-06-17 12 views
1

Ich habe ein Programm, wo ich versuche, einige einfache Textprotokollierung zu finden, um einen Fehler zu finden, der nur im Freigabemodus manifestiert. Ich habe meine Logging-Code hinzugefügt, und es wird nicht als Fehler überall außer in der Klasse des destructor gekennzeichnet:Visual C++ "Undeclared Bezeichner" Fehler auf Sprintf nur in Destruktor

CParameterMgr::~CParameterMgr() 
{ 
    sprintf(logData, "Deleting m_pValueBuff (Destructor)"); 
    TextLogger::WriteLog(logData); 

    delete [] m_pValueBuff; 
} 

ich tatsächlich „Fehler C2065:‚sprintf‘: nicht deklarierter Bezeichner“ bin immer

Kann jemand erklären, warum sprintf nicht in einem Destruktor verwendet werden kann?

Dank

+0

#include

+0

Das war alles, danke –

Antwort

0

Dmitrys Beratung war richtig, das war das Problem.

1

Keine Einschränkung der Verwendung von sprintf in Destruktor existiert. Sie haben gerade die entsprechende Header-Datei vergessen.

C-Stil Weg ist

#include <stdio.h> 

C++ - Stil Art und Weise ist

#include <cstdio>