информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на InternetСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
так тип возвращаемого значения должен до привязки к классу стоять 10.02.19 15:44  Число просмотров: 3927
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
не
template <class T> SparseArray< T >::int IkPukChaChaCha(){}
а
template <class T> int 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