информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsSpanning Tree Protocol: недокументированное применениеГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модель надежности отказоустойчивой... 
 NSA выпустило Гидру 
 Неприятная уязвимость во всех WinRAR,... 
 Apple случайно превратила FaceTime... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Так я и запутался, куда в этой дурной строке void пихать 13.02 04:13  Число просмотров: 238
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Тем паче, что почему-то вообще без int, оно компилировалось. Особенно, учитывая, что все примеры показывают, как объявить класс в программе, а не в хедере. Не понятно, нахрена всю строку из заголовка в программе повторять. Разобрался.
<ответить> <programming>
C++ Не могу в template class добавить метод типа void 07.02 04:56  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Возвращающий значение - пожалуйста, а void выдает ошибку unable to resolve function overload. Дичь какая-то, причем здесь overload? Я ничего не перегружаю. Переименование ф-ции ничего не меняет.
без примера кода не угадать 07.02 13:30  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
> Возвращающий значение - пожалуйста, а void выдает ошибку
> unable to resolve function overload. Дичь какая-то, причем
> здесь overload? Я ничего не перегружаю. Переименование
> ф-ции ничего не меняет.

Возвращаемое значение вообще на перегрузку не должно влиять, но может быть что-то вылезло при использовании шаблона.
Нет там никакой перегрузки. 09.02 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 15:13  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>

Вроде, надо было void воткнуть в реализации метода:
>
> void IkPukChaChaCha()
>
>
> template <class T> void SparseArray< T >::IkPukChaChaCha(){}

Но почему тогда, если int, то тогда все компилится без этого intа?
так тип возвращаемого значения должен до привязки к классу стоять 10.02 15:44  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
не
template <class T> SparseArray< T >::int IkPukChaChaCha(){}
а
template <class T> int SparseArray< T >::IkPukChaChaCha(){}
Так я и запутался, куда в этой дурной строке void пихать 13.02 04:13  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
Тем паче, что почему-то вообще без int, оно компилировалось. Особенно, учитывая, что все примеры показывают, как объявить класс в программе, а не в хедере. Не понятно, нахрена всю строку из заголовка в программе повторять. Разобрался.
при отсутствии int он подразумевается 13.02 22:37  
Автор: dl <Dmitry Leonov>
Отредактировано 13.02 22:37  Количество правок: 1
<"чистая" ссылка> <ответить>
> Тем паче, что почему-то вообще без int, оно
> компилировалось. Особенно, учитывая, что все примеры
> показывают, как объявить класс в программе, а не в хедере.
> Не понятно, нахрена всю строку из заголовка в программе
> повторять. Разобрался.

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

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

Но проще не париться и целиком функцию в классе описать, все равно шаблонный код должен лежать в хедерах, так что в вынесении из класса особого смысла нет.
Не совсем понял 16.02 17:09  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка> <ответить>
> Но проще не париться и целиком функцию в классе описать,
> все равно шаблонный код должен лежать в хедерах, так что в
> вынесении из класса особого смысла нет.

В хедере? Там же много-чего нельзя. В частности - переменные инициализировать.
А при чем тут переменные и функции? 20.02 18:37  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка> <ответить>
> В хедере? Там же много-чего нельзя. В частности -
> переменные инициализировать.

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






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


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