информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
при отсутствии int он подразумевается 13.02.19 22:37  Число просмотров: 3984
Автор: dl <Dmitry Leonov>
Отредактировано 13.02.19 22:37  Количество правок: 1
<"чистая" ссылка>
> Тем паче, что почему-то вообще без int, оно
> компилировалось. Особенно, учитывая, что все примеры
> показывают, как объявить класс в программе, а не в хедере.
> Не понятно, нахрена всю строку из заголовка в программе
> повторять. Разобрался.

если с void, то так:

template <class T> void SparseArray< T >::IkPukChaChaCha(){}

Но проще не париться и целиком функцию в классе описать, все равно шаблонный код должен лежать в хедерах, так что в вынесении из класса особого смысла нет.
<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>
<"чистая" ссылка>
> В хедере? Там же много-чего нельзя. В частности -
> переменные инициализировать.

Ну и речь не о хедере (шаблоны все равно целиком в хедерах описываются), а о теле класса или внешнем описании, которое мало что дает для небольших классов.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach