#include <cstddef> template<typename T> void foo(T&&); template<> void foo<size_t>(size_t&&) = delete; int main() { size_t x = 0; foo(x); foo(size_t(0)); }
Standard input is empty
prog.cpp: In function 'int main()': prog.cpp:13:15: error: use of deleted function 'void foo(T&&) [with T = unsigned int]' foo(size_t(0)); ^ prog.cpp:7:6: note: declared here void foo<size_t>(size_t&&) = delete; ^
Standard output is empty