草庐IT

IntegralType

全部标签

c++ - 由于未签名,消除了模板化方法中的警告

我发现了一些模板化代码,它们有时会执行以下检查:templatevoidrandomFunction(IntegralTypet){...if(t代码的思想是t是一个整数类型(有符号或无符号)。无论是否有符号,代码都可以正常工作,但编译器会发出警告,因为在unsigned整数的情况下,检查将始终为真。在C++03中是否有一种方法可以修改代码以消除警告而不抑制它?我正在考虑以某种方式检查T的签名,不知道是否可行。我知道C++11的is_signed但我不确定它如何在C++03中实现。 最佳答案 使用标签调度和特征:templatebo