C - Error: expected expression before int

Mallika

I'm a beginner in C. I checked the various discussion for the query I was looking for, but none of them helped. I wrote a code for Merge Sort and I'm getting the following errors:

  1. expected expression before 'int'

  2. too few arguments to function 'MergeSort'

    int *list;  //pointer to array of integers 
    int * MergeSort(int *A, int x, int y);  //function definition, the function returns a pointer to an array of integers. 
    
    int * MergeSort(int *A, int x, int y) //function declaration
    {
    //some code
    
         int size=1+y-x;
         int half=size/2;
    
         MergeSort(int *A, 0, half-1);   //error in this line
         MergeSort(int *A, half, y);     //error in this line
    
    //some code
    }
    

Help would be greatly appreciated! Thank you.

Update: Previous error resolved.

Segmentation fault (core dumped). I don't understand the problem. Here's a link to the code I've written. http://ideone.com/mHXQ66

oligofren

You don't need to specify the type of the argument when you call a function.

So instead of

MergeSort(*A, 0, half - 1);

You do

// You already specified that A was a pointer in your function definition: int *A
MergeSort(A, 0, half - 1);

When you want to call this function, with say the list argument you defined at the top, you just write

MergeSort(list, myX, myY); // where myX and myY are defined somewhere, relating to your list

With regards to your function, you need some more meat in the function body. You especially need to check for the case when your array split into pieces of size 1. So add this

if(x - y < 2) // if run size == 1
    return;  

Otherwise you never return! Think of when x == y, you will just call MergeSort(A, 0, 0) over and over again until your stack overflows.


Concerning the segmentation fault

I cannot see anything wrong with the full code you linked to. Seems pretty ok to me, but I don't have the possibility to debug your program for you. Rather, I will point you to DDD, a graphical front-end to the GDB debugger, making it A LOT more user friendly.

It can be downloaded here, and a great debugging tutorial can be found here. Using that you will find the error in minutes.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

C++ Error - expected primary-expression before '.' token|

From Dev

error expected primary-expression before ';' token

From Dev

C++ NetBeans error: expected unqualified-id before 'int'

From Dev

C error: Expected expression before int

From Dev

c error: expected expression before ‘{’ token

From Dev

Expected expression before equation in C

From Dev

error: expected expression before ‘float’

From Dev

C error: expected expression before '||' token

From Dev

C++ error: expected primary-expression before ‘[’ token

From Dev

error: expected primary-expression before ')' token (C)

From Dev

error: expected expression before '{' token|

From Dev

C _Generic error - expected expression before '_Bool'

From Dev

Code Blocks C++ Error expected primary expression before enum

From Dev

error: expected primary-expression before ‘int’

From Dev

Initialize an array in C error "expected expression before ‘]’ token"

From Dev

Expected expression before ‘char’ in C

From Dev

C "expected expression before 'struct'" error since using typedef or header

From Dev

C++ error: expected primary-expression before 'int'

From Dev

error: expected primary-expression before ‘)’ token

From Dev

C++ Error - expected primary-expression before '.' token|

From Dev

error: expected primary-expression before '>' token

From Dev

C++ NetBeans error: expected unqualified-id before 'int'

From Dev

error : expected primary expression before '.' token

From Dev

C++ error: expected primary-expression before '(' token

From Dev

C error: expected expression before '||' token

From Dev

error: expected primary-expression before ‘(’ token

From Dev

expected primary expression before int main()

From Dev

error: expected primary-expression before 'int' (In the context of a function that accepts arrays)

From Dev

stack in C , expected expression before 'int'

Related Related

  1. 1

    C++ Error - expected primary-expression before '.' token|

  2. 2

    error expected primary-expression before ';' token

  3. 3

    C++ NetBeans error: expected unqualified-id before 'int'

  4. 4

    C error: Expected expression before int

  5. 5

    c error: expected expression before ‘{’ token

  6. 6

    Expected expression before equation in C

  7. 7

    error: expected expression before ‘float’

  8. 8

    C error: expected expression before '||' token

  9. 9

    C++ error: expected primary-expression before ‘[’ token

  10. 10

    error: expected primary-expression before ')' token (C)

  11. 11

    error: expected expression before '{' token|

  12. 12

    C _Generic error - expected expression before '_Bool'

  13. 13

    Code Blocks C++ Error expected primary expression before enum

  14. 14

    error: expected primary-expression before ‘int’

  15. 15

    Initialize an array in C error "expected expression before ‘]’ token"

  16. 16

    Expected expression before ‘char’ in C

  17. 17

    C "expected expression before 'struct'" error since using typedef or header

  18. 18

    C++ error: expected primary-expression before 'int'

  19. 19

    error: expected primary-expression before ‘)’ token

  20. 20

    C++ Error - expected primary-expression before '.' token|

  21. 21

    error: expected primary-expression before '>' token

  22. 22

    C++ NetBeans error: expected unqualified-id before 'int'

  23. 23

    error : expected primary expression before '.' token

  24. 24

    C++ error: expected primary-expression before '(' token

  25. 25

    C error: expected expression before '||' token

  26. 26

    error: expected primary-expression before ‘(’ token

  27. 27

    expected primary expression before int main()

  28. 28

    error: expected primary-expression before 'int' (In the context of a function that accepts arrays)

  29. 29

    stack in C , expected expression before 'int'

HotTag

Archive