it-swarm.com.de

variable oder Feld für ungültig erklärt

Ich habe eine Funktion namens:

void initializeJSP(string Experiment)

Und in meiner MyJSP.h-Datei habe ich:

2: void initializeJSP(string Experiment);

Und beim Kompilieren bekomme ich diesen Fehler:

MyJSP.h: 2 Fehler: Variable oder Feld initializeJSP für ungültig erklärt

Wo ist das Problem?

44
Eduardo

Es passiert zum Beispiel in diesem Fall hier:

void initializeJSP(unknownType Experiment);

Versuchen Sie es mit std::string anstelle von string (und fügen Sie den <string>-Header hinzu). C++ - Standardbibliotheksklassen befinden sich im Namespace std::.

Dies ist eigentlich kein Problem mit der Funktion "void", sondern ein Problem mit den Funktionsparametern. Ich denke, es ist nur g ++, was eine nicht hilfreiche Fehlermeldung gibt.

31
Paul Price

Die Sache ist, wenn Sie eine Funktion aufrufen, sollten Sie nicht den Typ der Funktion schreiben 

initializeJSP(Experiment);
0
Daniel Montaña

Andere Antworten haben sehr genaue Antworten gegeben, und ich bin mir nicht ganz sicher, was genau Ihr Problem war (wenn es nur aufgrund eines unbekannten Typs in Ihrem Programm wäre, hätten Sie neben dem von Ihnen genannten Fehler noch viele weitere deutliche Fehler erhalten) In weiteren Informationen wird dieser Fehler auch ausgelöst, wenn wir den Funktionstyp beim Aufrufen der Funktion als ungültig hinzufügen, wie Sie weiter unten sehen können:

#include<iostream>
#include<vector>
#include<utility>
#include<map>
using namespace std;
void fun(int x);
main()
{
   int q=9;
   void fun(q); //line no 10
}
void fun(int x)
{
    if (x==9)
        cout<<"yes";
    else
        cout<<"no";
}

Error:

 C:\Users\Acer\Documents\C++ programs\exp1.cpp|10|error: variable or field 'fun' declared void|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

Wie aus diesem Beispiel hervorgeht, kann dieser Grund auch zu einem Fehler der Variable oder des Feldes führen, der für ungültig erklärt wurde.

0
RSSB