2009-06-30 10 views
0

I Vorlage geschrieben, die Matrix in Window-Formularanwendung .My Vorlage zurückkehrt unter:Verwendung von Klassenvorlage in Visual C++

template<class T> 
    class matrix1 { 
    protected: 

    public: 
      T *data; 

      const unsigned rows, cols, size; 
      matrix1(unsigned r, unsigned c) : rows(r), cols(c), size(r*c) { 

      data = new T[size]; 
      } 
      ~matrix1() { delete data; } 
      void setValue(unsigned row, unsigned col, T value) { 
        data[(row*cols)+col] = value; 
      } 
      T getValue(unsigned row, unsigned col) const { 
        return data[(row*cols)+col]; 
      } 

ich diesen Code in Hauptprojektdatei in Windows Form Application.I 341 * 680 definiert schrieb Matrix mit dieser Vorlage:

matrix1<double>A(341,680); 

I verwendet Funktion, die weitere Bedienung auf dieser Vorlage und I definiert es wie folgt:

void function(matrix1<double> &b,array< double>^ data) 

Und es nennt:

function(A,data); 

(Daten sind ein dimensinonal Datenarray, das ich für meinen Programmieralgorithmus verwenden)

Zum Beispiel: Wenn ich drucken Daten mag, die in der ersten Reihe angeordnet ist und erste Spalte.

Visual C++ erkennen getvalue und setvalue Funktion, konnte aber nichts und gab interessiert viele Fehler drucken mit matrix1 Vorlage

Ich habe versucht, diese Vorlage und Funktion auf CLR-Konsolenanwendung und funktioniert.Wie könnte ich dies unter Windows Form Application.And Wo finde ich Vorlage Klasse in Windows Form Application.

Mit freundlichen Grüßen ...

+0

Was ist der Fehler sein? Was meinst du mit Drucken in einer WinForms-Anwendung? –

+0

Was ist die Vorlage "array1"? –

Antwort

1

allererst Sie einen Fehler in der destructor haben, sollte es

~matrix1() { delete []data; } 
Verwandte Themen