У меня возникли проблемы со следующим кодом:C++ шаблонный метод в заголовочном файле
#ifndef UTILS_H
#define UTILS_H
#include <cstdint>
#include <iostream>
namespace Utils
{
template<class T>
std::string hexify(T val)
{
std::stringstream stream;
stream << "0x"
<< std::setfill('0') << std::setw(sizeof(T) * 2)
<< std::hex << val;
return stream.str();
}
};
#endif
Он говорит мне, что «„setw“: идентификатор не найден», и то же самое для каждого станд :: функции вызов.
Что в этом плохого?
'#include' –
101010
Check например [эта ссылка на манипулятор ввода/вывода] (http://en.cppreference.com/w/cpp/io/manip). –
[std :: setw] (http://en.cppreference.com/w/cpp/io/manip/setw) –