c ++ verweist auf ein Array

7

Ich wundere mich, wie ich diesen Code arbeiten lassen kann?

%Vor%

Und hier sind die Fehler, die ich habe:

%Vor%

Danke für die Hilfe

    
John 16.10.2010, 16:28
quelle

5 Antworten

19

Wenn Sie beabsichtigen, die Größe des Arrays zu übergeben, entfernen Sie die Referenz

%Vor%

entspricht

%Vor%

Es wird also kein Kopieren durchgeführt, wenn dies der Fall ist.

Wenn Sie ein Array als Referenz verwenden möchten, müssen Sie die Dimension angeben. z.B.

%Vor%

Natürlich ist das beste der beiden die dritte Lösung, nämlich std :: vectors zu verwenden und sie bei Bedarf durch Referenz, Verweis auf const oder durch Wert zu übergeben. HTH

    
Armen Tsirunyan 16.10.2010, 16:32
quelle
6

Hier ist ein etwas mehr C ++ Stil:

%Vor%     
Amardeep AC9MF 16.10.2010 16:45
quelle
5

Sie müssen die Dimension des Arrays nicht angeben, wenn Sie writeTable zu einer Funktionsvorlage machen.

%Vor%

.

%Vor%     
Prasoon Saurav 16.10.2010 16:37
quelle
1

Nach Amardeeps Antwort folgt hier ein C ++ 11-Weg:

%Vor%

Beachten Sie den bereichsabhängigen for , der in writeTable verwendet wird.

    
Laurent LA RIZZA 23.06.2014 07:58
quelle
0

Arrays von Referenzen sind illegal, wenn Sie das versuchen. Es ist mir nicht 100% klar aus dem Titel.

    
Steve Townsend 16.10.2010 16:32
quelle