-
Data: 2009-08-27 11:43:47
Temat: Re: szablony metod - deklaracja i definicja
Od: "Mateusz Loskot" <m...@l...net> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]"Megas" <k...@o...eu> wrote in message news:h75qo4$qp7$1@news.onet.pl...
>
> U?ytkownik "Mateusz Loskot" <m...@l...net> napisa? w wiadomo?ci
> news:h75q1r$53e$1@inews.gazeta.pl...
>>
>> http://www.parashift.com/c++-faq-lite/templates.html
#faq-35.7
>
> Mateusz, w punkcie 35.7 jest opisany sposob definiowania specjalizacji
> funkcji wobec jej szablonu (zdefiniowanie innej implementacji funkcji
> wobec domyslnego szablonu) - i to jest jasne. Ale ja chce zmusic
> kompilator by wygenerowal konkretna funkcje na podstawie szablonu w tym
> miejscu, tak bym pozniej mogl z niej juz skorzystac w innym miejscu. Robie
> to tak:
>
> template A& A::operator<<<long>(long);
To jest błąd!
Jak chcesz wygenerować specjalizacje, to robisz to explicite
samodzielnie:
#include <iostream>
struct T
{
template <typename T>
std::ostream& operator<<(T x)
{
std::cout << "<T>: " << x << std::endl;
return std::cout;
}
template <>
std::ostream& operator<< <int>(int x)
{
std::cout << "<int>: " << x << std::endl;
return std::cout;
}
template <>
std::ostream& operator<< <double>(double x)
{
std::cout << "<double>: " << x << std::endl;
return std::cout;
}
};
int main()
{
T t;
t << long(7);
t << int(7);
t << double(7);
return 0;
}
Pozdrawiam
--
Mateusz Loskot, http://mateusz.loskot.net
pl.comp.lang.c FAQ: http://pl.cpp.wikia.com/wiki/FAQ
C++ FAQ: http://parashift.com/c++-faq-lite
Następne wpisy z tego wątku
- 27.08.09 11:45 Megas
- 27.08.09 12:14 Tomasz Bywalec
- 27.08.09 12:26 Megas
- 27.08.09 12:41 Megas
- 27.08.09 13:01 Tomasz Bywalec
- 27.08.09 13:09 Megas
- 27.08.09 13:16 Tomasz Bywalec
- 27.08.09 13:22 Megas
- 27.08.09 13:23 Megas
- 27.08.09 13:33 Megas
- 27.08.09 13:51 Arek (G)
- 27.08.09 13:55 Tomasz Bywalec
- 27.08.09 14:39 Megas
- 27.08.09 15:06 Megas
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=