In einer Funktion meines Codes habe ich einen Fehler gefunden. Es wurde std:string
geschrieben:Unterschied zwischen Std: String und Std :: String
const std::string currentDateTime() {
time_t now = time(0);
struct tm tstruct;
char buf[80];
tstruct = *localtime(&now);
//strftime(buf, sizeof(buf), "%Y-%m-%d.%X", &tstruct);
strftime(buf, sizeof(buf), "%Y%m%d%X", &tstruct);
std:string str = buf;
str.erase(std::remove(str.begin(), str.end(), ':'), str.end());
return str;
}
Der Code kompiliert ohne Fehler. Warum kompiliert es? Was bedeutet std:string
dann?
'std:' ist ein Etikett, dort muss irgendwo ein Einsatz sein. –
Dieser Code funktioniert nur, wenn Sie "namespace std" verwenden, was sowieso IMO schlecht ist. Andernfalls wäre dies als Kompilierfehler aufgefunden worden, sofern nicht irgendwo eine Typzeichenfolge definiert ist. – Devolus
@Devolus Sie können auch mit std :: string arbeiten, um denselben Effekt zu erhalten. – dascandy