Reference?



  • Hallo,

    ich schaffe es nicht, folgenden code zu compilieren:

    #include <unistd.h>
    #include <stdlib.h>
    #include <iostream>
    
    using namespace std;
    
    int main() {
      int status;
      pid_t pid = fork();
    
        switch(pid) {
            case -1:
                cout << "Fork Failed" << endl;
                exit(-1);
            case 0:
               char * x[3];
               x[0] = (char*) "/bin/ls";
               x[1] = (char*) "-all";
               x[2] = 0;
               execvp("/bin/ls", x);
               exit(1);
    
            default:
               wait(&status);
               if(WIFEXITED(status)!=0)printf("%d\n",WEXITSTATUS(status));
        }
    }
    

    jedes mal bekomme ich die Fehlermeldung:
    test.cpp: In function ‘int main()’:
    test.cpp:25: error: ‘status’ declared as reference but not initialized

    Versucht habe ich es mit g++ Version: 4.3

    Weiß jemand weiter?
    Grüße, Wolfi



  • Die Fehlermeldung ist hier nicht sehr anfängerfreundlich, musste da auch etwas nachdenken. Tu mal folgendes dazu:

    #include <sys/wait.h>
    

    (Ach ja, und statt <stdlib.h> gibt es auch <cstdlib>.)


Anmelden zum Antworten