Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

zizou666

Rozmieszczenie szablonów w plikach

Polecane posty

Otoz mam taki maly problem. Czytam sobie "Pasje C++" Grebosza i jest tam rozdzial o rozmieszczeniu szablonow klas w plikach. Otoz autor mowi, ze gdy mamy przykladowo 3 takie pliki:

//plik "szablon.h"

#include <iostream>
using namespace std;

template<class typOBJ>
class aktor
{
    typOBJ skladnik;
public:
    void funkcja_mala(char* t)
    {
        cout<<"funkcja mala: "<<t<<endl;
    }
    void funkcja_duza(char* opis);
};

template<class typOBJ>
void aktor<typOBJ>::funkcja_duza(char* opis)
{
    cout<<"funkcja duza: "<<opis<<endl;
}

//plik "modulB.cpp"

#include "szablon.h"

void poslaniec()
{
    aktor<int> objx;
    objx.funkcja_mala(" w poslancu");
    objx.funkcja_duza("w poslancu");
}

//plik "modulA.cpp"

#include <iostream>
#include "szablon.h"
void poslaniec();

main()
{
    aktor<int> obj1;

    obj1.funkcja_mala(" z main");
    obj1.funkcja_duza(" z main");
    poslaniec();

}

Chodzi o to, ze niektore kompilatory maja problem z linkowaniem tego typu plikow. Chodzi o powtarzajaca sie definicje obiektow klas. W niektorych srodowiskach podobno mozna to zmienic w opcjach. Z ciekawosci przepisalem ten program do Visuala no i nie kompiluje sie. Nie wiem jednak gdzie szukac jak zmienic aby te szablony byly juz zrecznie obslugiwane. Szczerze mowiac myslalem. ze taki program jak VS ma taka opcje ustawiona jako domyslna. Ktos wie moze jak to rozwiazac?

Konkretnie to wyrzuca taki blad:

error: "missing type specifier - int assumed. Note: C++ does not support default-int"

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...