2010-12-13 16 views
2

Ich habe ganze Zahlen, die ich in eine Matrix lege, um sie in einer bestimmten Funktion in openCV zu verwenden. Die von mir erstellte Matrix ist nur cvMat und ich möchte diese Matrix in der Funktion verwenden. Ich erhalte eine Fehlermeldung:Ganzzahlen für const C++, c

error: cannot convert ‘CvMat’ to ‘const CvMat*’

So wie kann ich wandeln diese ints um-Konstante, die Matrix als const CvMat das heißt zu erstellen, wie CvMat zu konst CvMat ändern?

+1

Sie übergeben Wert, wo Sie einen Zeiger übergeben sollten. –

+0

DANKE SO VIEL, es ist gelöst – Mario

Antwort

4

" error: cannot convert ‘CvMat’ to ‘const CvMat*’ "

Die wichtige Sache dort ist der Asterix am Ende. Das bedeutet, dass die Funktion, die Sie aufrufen, einen Zeiger benötigt. Sie können einfach die Adresse Ihrer Matrix nehmen und diese übergeben, stattdessen somefunction(myMatrix) es benötigt somefunction(&myMatrix). Mach dir keine Sorgen über die Const. Ein Zeiger kann immer implizit in einen const-Zeiger umgewandelt werden.

+0

OH MEIN GOTT, es ist Gelöst, DANKE SO VIEL GUYS DANKE – Mario

+3

Sie sind herzlich willkommen. Wenn dies Ihnen geholfen hat, denken Sie bitte daran, meine Antwort zu akzeptieren. Vielleicht möchten Sie auch, dass die Feststelltaste gedrückt wird. – SingleNegationElimination

+0

Das Kappen-Aussehen ist nur um dir zu zeigen, wie sehr ich es schätze – Mario