21/06/17 23:54:09.39 Gi/wqrqm.net
>>328
暗黙の型変換を許さないということかな?
それならテンプレートにした上で型に制約を付ければいい。
ここでは C++11 でも通るように書いてみたけど C++20 以降なら
コンセプトが使えるのでもう少し簡単に書ける。
#include <type_traits>
template<class T>
typename std::enable_if<std::is_same<T, unsigned int>::value>::type foo(T) {
}
int main(void) {
int a = 1;
unsigned int b = 2;
foo(a); // これはエラーになる
foo(b); // これは通る
}