Was ist mit den Standardparametern nicht in Ordnung?

7

Ich habe diese Funktion Deklaration und Definition ..

Definition

%Vor%

Deklaration

%Vor%

Haupt

%Vor%

Klassenbestimmung

Namespace soundData {

%Vor%

} // Namespace sounddata

Fehler

%Vor%

Was ist daran falsch? Ich lade nur eine Datei, also sollte argc 1 sein. Aber warum kommt dann ein Fehler?

Bitte sagen Sie mir auch, was ich tun soll, um die Parameter (int argc, char* argv[]) zu lesen  in main() .

Ich glaube, ich habe es nicht verstanden.

    
RidaSana 15.05.2011, 09:05
quelle

3 Antworten

30

Erwähnen Sie den Standardwert für den Parameter ONLY in der Deklaration:

%Vor%

Erwähnen Sie nicht den Standardwert in der Definition:

%Vor%

Jetzt ist es perfekt. Es sollte jetzt kompilieren!

    
Nawaz 15.05.2011, 09:07
quelle
4

Wie bereits in anderen Antworten erwähnt,

Fehler Ursache:
Die Ursache des Fehlers ist, dass Sie bei der Definition der Funktion Default-Value-Argumente angegeben haben. Sie sollten nur in der Funktionsdeklaration und nicht in der Definition erwähnt werden.

Um Ihre zweite Frage zu beantworten.
Bitte sagen Sie mir, was ich für Parameter lesen soll (int argc, char argv []) in main ()? *

argc = & gt; Die Anzahl der Argumente, die dem Programm übergeben werden (das Programm ist enthalten)
argv = & gt; Ein Array von Zeigern auf die Strings, die die Argumente sind, die dem Programm übergeben werden - sein Typ ist 'array of pointer to char'

Diese Argumente werden vom Befehlszeileninterpreter oder der Jobsteuersprache des Hostsystems an das Programm übergeben.

Sie können dies lesen, um die Übergabe von Argumenten an main zu verstehen.

    
Alok Save 15.05.2011 09:24
quelle
1

In Ihrer loadFromFile Funktionsdefinition sollten Sie

schreiben %Vor%

Sie sollten in der Funktionsdefinition keinen Standardparameterwert angeben.

    
beduin 15.05.2011 09:10
quelle

Tags und Links