我有三个编译器(大致是C++98),我试图在其中编译一些模板。模板以函数类型作为参数。
如果我尝试在C++11编译器中编译,那么它只是在函数类型是cv限定的情况下工作。三个C++98编译器中的两个如果符合cv条件,就无法编译。
这在C++98编译器中正确吗?
发布于 2015-10-08 22:20:55
是的,最初的C++98标准确实不允许对任何函数类型(包括模板参数)应用const限定符。
后来对此进行了更改,使const T始终有效,但对于函数类型而言,它等同于普通T,但是实现原始C++98标准的编译器将在T是函数类型时将const T检测为错误。
缺陷报告:295.cv-函数类型的限定符。
https://stackoverflow.com/questions/33026752
复制相似问题