C
CptRick
Mitglied
Hiho,
ich wollte grade folgenden source mit dem gcc kompilieren:
Nun spuckt der gcc aber einen seltsamen error aus:
Wenn ich die Funktion mit integer deklariere kommt der error zwar nicht, aber die Funktion soll schon bool'sche Werte zurückgeben.
ich wollte grade folgenden source mit dem gcc kompilieren:
Code:
#include <stdio.h>
#include <stdlib.h>
int get_chip_size();
int get_ram_size();
bool get_chip_template(int chip[], int chip_size, char path[]);
int main( int argc, char * argv[] ) {
// Initializing the chip array
int chip_size;
chip_size = get_chip_size();
if(chip_size == 0) return EXIT_SUCCESS ;
int chip[chip_size];
// Initializing the ram array
int ram_size;
ram_size = get_ram_size();
if(ram_size == 0) return EXIT_SUCCESS ;
float ram[ram_size];
return EXIT_SUCCESS ;
}
int get_chip_size() {
int size;
printf("\n___ Chipset size ___");
printf("\n| |");
printf("\n| (1) 4 Bit |");
printf("\n| (2) 8 Bit |");
printf("\n| (3) 16 Bit |");
printf("\n| (4) 32 Bit |");
printf("\n| (5) 64 Bit |");
printf("\n| (6) 128 Bit |");
printf("\n| (0) exit |");
printf("\n|__________________|");
printf("\n\n: ");
scanf("%d", &size);
while( size < 0 || size > 6 ) {
printf("\nExpecting decimal number bewtween 1 and 6!");
printf("\n: ");
scanf("%d", &size);
}
return size;
}
int get_ram_size() {
int size;
printf("\n_______ RAM size ______");
printf("\n| |");
printf("\n| number of RAM decks |");
printf("\n| (0) exit |");
printf("\n|_____________________|");
printf("\n\n: ");
scanf("%d", &size);
while( size < 0 ) {
printf("\nExpecting decimal positive number!");
printf("\n: ");
scanf("%d", &size);
}
return size;
}
bool get_chip_template(int chip[], int chip_size, char path[]) {
int c, i=0, temp;
FILE *ptr;
if( !(ptr = fopen(path[],"r") ) return FALSE ;
while ((c = fgetc(ptr)) != EOF) {
if( c != 10 || c != 27 ) { // use New Line and Space as seperator
c -= 48;
if(c < 0) return FALSE ;
temp = c * 10;
if ( ((c = fgetc(ptr)) != EOF) || i > chip_size) {
c -= 48;
if(c < 0) return FALSE ;
temp += c;
chip[i++] = temp;
} else {
return FALSE ;
}
}
}
for( i = i; i == chip_size; i++ ) chip[i] = 0;
fclose(ptr);
return TRUE ;
}
Nun spuckt der gcc aber einen seltsamen error aus:
Code:
[99%+]arne@deepthought:~$ gcc -Wall -o chipset chipset.c
chipset.c:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘get_chip_template’
chipset.c: In function ‘main’:
chipset.c:26: warning: unused variable ‘ram’
chipset.c:17: warning: unused variable ‘chip’
chipset.c: At top level:
chipset.c:84: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘get_chip_template’
[99%+]arne@deepthought:~$
Wenn ich die Funktion mit integer deklariere kommt der error zwar nicht, aber die Funktion soll schon bool'sche Werte zurückgeben.