| 
 
 
 
 Легенда:
  новое сообщение 
  закрытая нитка 
  новое сообщение 
  в закрытой нитке 
  старое сообщение   | 
Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
Новичкам также крайне полезно ознакомиться с данным документом.
|  |  |  |  |  |  |  | Не совсем понял  16.02.19 17:09  Число просмотров: 4128 Автор: Zef <Alloo Zef> Статус: Elderman
 |  
| > Но проще не париться и целиком функцию в классе описать, > все равно шаблонный код должен лежать в хедерах, так что в
 > вынесении из класса особого смысла нет.
 
 В хедере? Там же много-чего нельзя. В частности - переменные инициализировать.
 |  | <programming> |  
| C++ Не могу в template class добавить метод типа void  07.02.19 04:56 Автор: Zef <Alloo Zef> Статус: Elderman
 |  
| Возвращающий значение - пожалуйста, а void выдает ошибку unable to resolve function overload. Дичь какая-то, причем здесь overload? Я ничего не перегружаю. Переименование ф-ции ничего не меняет. |  
|  | без примера кода не угадать  07.02.19 13:30 Автор: dl <Dmitry Leonov>
 |  
| > Возвращающий значение - пожалуйста, а void выдает ошибку > unable to resolve function overload. Дичь какая-то, причем
 > здесь overload? Я ничего не перегружаю. Переименование
 > ф-ции ничего не меняет.
 
 Возвращаемое значение вообще на перегрузку не должно влиять, но может быть что-то вылезло при использовании шаблона.
 |  
|  |  | Нет там никакой перегрузки.  09.02.19 04:25 Автор: Zef <Alloo Zef> Статус: Elderman
 |  
| В том все и дело. 
 Если я пишу:
 int IkPukChaChaCha() В объявлении класа
 
 template <class T> SparseArray< T >::int IkPukChaChaCha(){
 return 0;} в CPP
 
 Все компилится. Если:
 
 void IkPukChaChaCha()
 
 
 template <class T> SparseArray< T >::int IkPukChaChaCha(){}
 
 Ругается.
 |  
|  |  |  | Похоже, понял, но... не понял  09.02.19 15:13 Автор: Zef <Alloo Zef> Статус: Elderman
 |  
| Вроде, надо было void воткнуть в реализации метода:
 >
 > void IkPukChaChaCha()
 >
 >
 > template <class T> void SparseArray< T >::IkPukChaChaCha(){}
 
 Но почему тогда, если int, то тогда все компилится без этого intа?
 |  
|  |  |  |  | так тип возвращаемого значения должен до привязки к классу стоять  10.02.19 15:44 Автор: dl <Dmitry Leonov>
 |  
| не template <class T> SparseArray< T >::int IkPukChaChaCha(){}
 а
 template <class T> int SparseArray< T >::IkPukChaChaCha(){}
 |  
|  |  |  |  |  | Так я и запутался, куда в этой дурной строке void пихать  13.02.19 04:13 Автор: Zef <Alloo Zef> Статус: Elderman
 |  
| Тем паче, что почему-то вообще без int, оно компилировалось. Особенно, учитывая, что все примеры показывают, как объявить класс в программе, а не в хедере. Не понятно, нахрена всю строку из заголовка в программе повторять. Разобрался. |  
|  |  |  |  |  |  | при отсутствии int он подразумевается  13.02.19 22:37 Автор: dl <Dmitry Leonov>
 Отредактировано 13.02.19 22:37  Количество правок: 1
 |  
| > Тем паче, что почему-то вообще без int, оно > компилировалось. Особенно, учитывая, что все примеры
 > показывают, как объявить класс в программе, а не в хедере.
 > Не понятно, нахрена всю строку из заголовка в программе
 > повторять. Разобрался.
 
 если с void, то так:
 
 template <class T> void SparseArray< T >::IkPukChaChaCha(){}
 
 Но проще не париться и целиком функцию в классе описать, все равно шаблонный код должен лежать в хедерах, так что в вынесении из класса особого смысла нет.
 |  
|  |  |  |  |  |  |  | Не совсем понял  16.02.19 17:09 Автор: Zef <Alloo Zef> Статус: Elderman
 |  
| > Но проще не париться и целиком функцию в классе описать, > все равно шаблонный код должен лежать в хедерах, так что в
 > вынесении из класса особого смысла нет.
 
 В хедере? Там же много-чего нельзя. В частности - переменные инициализировать.
 |  
|  |  |  |  |  |  |  |  | А при чем тут переменные и функции?  20.02.19 18:37 Автор: dl <Dmitry Leonov>
 |  
| > В хедере? Там же много-чего нельзя. В частности - > переменные инициализировать.
 
 Ну и речь не о хедере (шаблоны все равно целиком в хедерах описываются), а о теле класса или внешнем описании, которое мало что дает для небольших классов.
 |  
 
 
 |  |