(Этот вопрос имеет щедрость для всех, кто хочет сделать снимок)
Привет! Я определил функцию перегрузки шаблона с классом контейнера в качестве аргументов
(Здесь CntrlCls1 = RWTValOrderedVector и CntrlCls2 = RWTPtrSortedVector )
template<Class X> void func(CntrCls1<X>* ){}
template<Class X> void func(CntrCls1<X*>* ){}
template<Class X> void func(CntrCls2<X>*){}
После определения я вызываю функцию следующим образом
func(&ABC);
, где ABC - это экземпляр типа CntrCls1 <*> (то есть это контейнер указателей)
Теперь это прекрасно компилируется на моем компьютере, но когда я компилирую в другой системе, по какой-то причине компилятор пытается создать экземпляр шаблона функции с помощьюПараметр CntrlCls2, в результате чего выдается ошибка.
CtrCls1 и CtrCls2 являются несвязанными контейнерами.
Обновление: я использую VS 2008 для сборки на обеих системах, так что это не должно бытьпроблема.
Update1: я пытался перекомпилировать после комментирования шаблона функции с параметром CtrCls2 Теперь компиляция пытается создать первый функционал(т.е. без указателей): - (