• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed C++, specjalizacja definicji szablonów (chętne napisał bym ratunku i pomocy)

Object Storage Arubacloud
0 głosów
316 wizyt
pytanie zadane 8 marca 2018 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
zamknięte 8 marca 2018 przez Jakub 0

Witam, mam problem i kompletnie  nie wiem jak z niego wybrnąć. Otóż ucząc się z książki c++ szkoła programowania i będąc na etapie szablonów funkcji  natknąłem na ciekawy temat dotyczący jawnych specjalizacji. Mam IDE visual studio 2017 community i ogólnie spiera on najnowsze standardy c++. Oto prosty kod:

#include <iostream>	

template<> void f <char>(char c) {
	//
}

int main(){
	//
}

Jak na razie funkcja nic konkretnego nie robi. Mam błąd kompilacji:

f to nie jest szablon

Przepisuje definicje dokładnie tak samo jak jest w książce, tą funkcje to akurat skopiowałem ze strony Microsoftu by się jeszcze bardziej upewnić że nie robię błędu.  Czemu to nie działa crying.

Zastosowałem jeszcze inny (technicznie taki sam) przykład tym razem prototypu:

template<> void MySwap(double a, double b);

Błędy:


Błąd    C2912    jawna specjalizacja "void MySwap(double,double)" nie jest specjalizacją szablonu funkcji  

    "MySwap" nie jest nazwą klasy lub szablonu funkcji w bieżącym zasięgu    testy    c:\Users\komputer\Desktop\Jakub\programowanie\c++\C++ SP VI wyd\eksperymenty i programy\testy\testy\testy.cpp   

 

Ogólnie staram się zachować zawsze zimną krew ale tym razem mnie nerwy mega tłuką :/ Z góry dziękuje za pomoc.

komentarz zamknięcia: już znam wytłumaczenie

1 odpowiedź

+2 głosów
odpowiedź 8 marca 2018 przez criss Mędrzec (172,590 p.)
wybrane 8 marca 2018 przez Jakub 0
 
Najlepsza

Najpierw musisz mieć szablon, żeby go specjalizować :P W tym przypadku coś takiego:

template<typename T> void f(T);

template<> void f<char>(char c) { /*...*/ }
komentarz 8 marca 2018 przez Jakub 0 Pasjonat (23,120 p.)
Że ja z taką inteligencją chce programistą zostać :/

Podobne pytania

0 głosów
1 odpowiedź 348 wizyt
pytanie zadane 23 lipca 2016 w C i C++ przez Coroys Początkujący (370 p.)
+1 głos
0 odpowiedzi 351 wizyt
0 głosów
1 odpowiedź 430 wizyt

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...