C compile time error

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • entellus
    New Member
    • Nov 2007
    • 6

    C compile time error

    I'm using gcc to compile the code listed below when I get the following error

    error: expected '=', ',', ';', 'asm' or '__attribute__' before ' is_prime_number

    Code:
    /*
     * What is the largest prime factor of the number 317584931803?
     */
    
    #include <stdio.h>  
    #include <stdlib.h>  
    
    bool is_prime_number(unsigned long number){
        if(number < 2){
            return false;
        }
    
        bool is_a_prime = true;
        unsigned long i;
        unsigned long factor = number/2;
        
        for(i=factor;i>1;i--){
            if(number%i == 0){
               is_a_prime = false; 
               break;
            }
        }
        
        return is_a_prime;
    }
    
    int main(int argc, char* argv[]){
        if(argc != 2){
            fprintf(stderr, "Usage: ./euler_3 <number>\n");
            exit(1);
        }
    
        unsigned long max_val, biggest, result, i; 
        max_val = strtoul(argv[1], NULL, 10);
        biggest = max_val/2;
    
        //check in the reverse direction if the number is a factor of max_val
        for(i=biggest; i>1; i--){
            if(max_val%i == 0){
                //check if the number is a prime number
                if(is_prime_number(i)){
                    result = i;
                    break; 
                }
            } 
        }
    
        printf("Largest prime factor: %d", result);
        exit(0);
    }
    Any pointers will be greatly appreciated. Thanks in advance.
  • entellus
    New Member
    • Nov 2007
    • 6

    #2
    Originally posted by entellus
    I'm using gcc to compile the code listed below when I get the following error

    error: expected '=', ',', ';', 'asm' or '__attribute__' before ' is_prime_number
    compiling with g++ -o file file.c works just fine. strange!

    thanks

    Comment

    • weaknessforcats
      Recognized Expert Expert
      • Mar 2007
      • 9214

      #3
      Not strange at all.

      bool does not exist in C.

      Comment

      Working...