1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

undefined reference to... C

Discussion in 'Programmieren' started by Rocko176, Oct 31, 2007.

Thread Status:
Not open for further replies.
  1. Rocko176

    Rocko176 Byte

    Hallo,

    beim Kompilieren meines Programms erhalte ich folgenden Fehler

    $ gcc queens_problem.c -o queens_problem
    /c/DOKUME~1/Markus/LOKALE~1/Temp/ccMTv6fk.o:queens_problem.c:(.text+0x81): undefined reference to `_placeQueen'
    collect2: ld returned 1 exit status

    hab schon gelesen, dass es evt an ner fehlenden Bibliothek liegt, aber ich will ja nur ne Funktion aufrufen..folgender Code soll die Lösung zum N-Dame Problem werden
    Ohne die erste Funktion gibt es keine Probleme, wenn ich statt int void zurückgebe gibt es die Warning in funktion placeQueens, weil die ja was erwartet, wenn ich aber boolean benutzen bekomm ich nen parse error.. kann mir jemand helfen?
    Code:
    #include <stdlib.h>
    
    int canPlaceQueen(int row, int column, int *field) {
      return 0;
    }
    
    void placeQueens(int column, int size, int *field) {
      
      int row = 0;
      
      if(column < size) {
        for(row = 0; row < size; row++) {
          if(canPlaceQueen(row, column, field) == 1) {
        	*(field + (row * size + column)) = 1;
        	placeQueen(column - 1, size, field);
        	*(field + (row * size + column)) = 0;
          }
        } 
      } else {
        /* print */
      }
    
    }
    
    int main(int argc, char* argv[]) {
    
      int size = 0;
    
      if(argc != 2) {
        printf("usage: queens_problem n ( n = fieldsize n x n )");
        return EXIT_FAILURE;
      }
    
      size = atoi(argv[1]);
    
      if(size < 1) {
        printf("pleae enter a number bigger than 0\n");
        printf("usage: queens_problem n ( n = fieldsize n x n )");    
        return EXIT_FAILURE;
      }
      
      int field[size][size];
    
      placeQueens(0, size, (int*)field);
    
      return EXIT_SUCCESS;
    
    }
    
     
Thread Status:
Not open for further replies.

Share This Page