Код: Выделить всё
#include
template
std::ostream& raw_write(std::ostream& os, T& val, size_t size = sizeof(val)) {
return os.write(reinterpret_cast(&val), size);
}
void test_it(int x) {
raw_write(std::cout, x);
}
(5): ошибка C2065: 'val': необъявленный идентификатор
Вот демо-версия Godbolt.
Замена val на T работает правильно:
Код: Выделить всё
template
std::ostream& raw_write(std::ostream& os, T& val, size_t size = sizeof(T)) {
return os.write(reinterpret_cast(&val), size);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ault-value
Мобильная версия