информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на InternetГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





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

Ну и речь не о хедере (шаблоны все равно целиком в хедерах описываются), а о теле класса или внешнем описании, которое мало что дает для небольших классов.
<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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach