Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++] Uso di template e array

    Salve a tutti, ho bisogno di usare i template in una classe. In pratica devo inizializzare un vettore con dei dati. Ho questo codice:


    codice:
    #include <string>
    
    #include <fstream>
    
    #include <iostream>
    
    #include "vheapsort.h"
    
    #define Size 5
    
    
    
    using namespace std;
    
    
    
    int main(int argc, char* argv[]){
    
    
    	cout << "Programma iniziato!" << endl;
    
    	
    	T Record[Size];
    
    
    	Vheapsort <char> * vh= new Vheapsort<char>(Record,Size);
    
    	Record=vh->initHeap(Record);
    
    	delete vh;
    
    	return 0;
    
    }
    
    
    template<class T> char * Vheapsort<T>::initHeap(T* V){
    
    
    
        V[0]="a";
    
        V[1]="f";
    
        V[2]="e";
    
        V[3]="z";
    
        V[4]="g"; 
    
        
    
        return V;
    
    
    
    }
    Sulle righe dell'assegnazione ricevo questo errore:

    error: invalid conversion from ‘const char*’ to ‘char’

    Siccome non sono molto pratico dei template mi spiegate dove sbaglio?
    Grazie a chi mi darà una mano!

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Sostituisci i
    codice:
    V[0]="a";
    Con

    codice:
    V[0]='a';
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    grazie mille ora però ricevo questi errori:

    main.cpp:14: error: ‘T’ was not declared in this scope
    main.cpp:14: error: expected `;' before ‘Record’
    main.cpp:16: error: ‘Record’ was not declared in this scope

    devo mettere il template anche prima del main?

  4. #4
    int main(int argc, char* argv[]){


    cout << "Programma iniziato!" << endl;


    T Record[Size];


    Vheapsort <char> * vh= new Vheapsort<char>(Record,Size);

    Record=vh->initHeap(Record);

    delete vh;

    return 0;

    }
    Difatti T non è stato dichiarato nella funzione main.
    Puoi postare anche vheapsort.h ?


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.