Sollte ich die Größe eines anderen Arguments als Standardwert verwenden können?C++

Programme in C++. Entwicklerforum
Anonymous
 Sollte ich die Größe eines anderen Arguments als Standardwert verwenden können?

Post by Anonymous »

Dieser Code wird mit GCC korrekt kompiliert, aber er beschwert sich bei MSVC:

Code: Select all

template 
std::ostream& raw_write(std::ostream& os, T& val, size_t size = sizeof(val)) {
return os.write(reinterpret_cast(&val), size);
}
Der Fehler ist:

Code: Select all

(5): error C2065: 'val': undeclared identifier
.
Hier ist eine Demo.
Diese Version funktioniert stattdessen korrekt:

Code: Select all

template 
std::ostream& raw_write(std::ostream& os, T& val, size_t size = sizeof(T)) {
return os.write(reinterpret_cast(&val), size);
}
Ist dies ein weiterer Verstoß gegen MSVC?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post