Поясните плиз кто в этой ситуации прав(ближе к стандарту):
При компиляции такого кода:
//-------------------------------Templ.h----------------
template<class T, T defval = T()>
class alloc_pool {
public:
alloc_pool() {};
~alloc_pool() {};
};
//-------------------------------End of Templ.h----------------
//-------------------------------Templ.cpp-----------------------
#include "Templ.h"
void main(){
alloc_pool<int> a;
}
//-------------------------------End of Templ.cpp----------------
VC6.0 прекрасно компилирует и код выполняется
VC7.NET сообщает:
Templ.h error C2975: 'alloc_pool' : invalid template argument for 'defval', constant expression expected
И что с этим делать?