Я пытаюсь запретить определенную операцию по летучим типам. Для этого я пытаюсь использовать std::is_volatile
, но приведенный ниже код компилируется без ошибок, чего я не хочу.
Почему is_volatile::value
false в приведенном ниже примере?
#include <type_traits>
template<typename T>
inline void DoStuff(T val) {
static_assert(!std::is_volatile<T>::value, "No volatile types plz");
//...
}
int main() {
volatile char sometext[261];
DoStuff(sometext);
}