eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszablony metod - deklaracja i definicjaRe: szablony metod - deklaracja i definicja
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: "Mateusz Loskot" <m...@l...net>
    Newsgroups: pl.comp.programming
    Subject: Re: szablony metod - deklaracja i definicja
    Date: Thu, 27 Aug 2009 12:43:47 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 62
    Message-ID: <h75rdr$bsq$1@inews.gazeta.pl>
    References: <h741o5$vof$1@news.onet.pl> <h7462k$4vj$1@inews.gazeta.pl>
    <h75on2$kj2$1@news.onet.pl> <h75q1r$53e$1@inews.gazeta.pl>
    <h75qo4$qp7$1@news.onet.pl>
    NNTP-Posting-Host: 82.110.183.162
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="utf-8"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1251373307 12186 82.110.183.162 (27 Aug 2009 11:41:47 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 27 Aug 2009 11:41:47 +0000 (UTC)
    In-Reply-To: <h75qo4$qp7$1@news.onet.pl>
    X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18005
    X-Priority: 3
    X-Newsreader: Microsoft Windows Mail 6.0.6002.18005
    X-User: mloskot
    X-MSMail-Priority: Normal
    Xref: news-archive.icm.edu.pl pl.comp.programming:183356
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: