I’ve been racking my brains on this for a while, I’m simply trying to create a method that returns a struct as I wish to return two int’s.
My prototype for the method is as follows:
typedef struct RollDice();
Also the method itself:
typedef struct RollDice()
{
diceData diceRoll;
diceRoll.dice1 = 0;
diceRoll.dice2 = 0;
return diceRoll;
}
The compiler shows the error: "Syntax error: ')'" for both the prototype and actual method.
The struct itself:
typedef struct
{
int dice1;
int dice2;
}diceData;
Is it obvious where I’m going wrong? I’ve tried everything I can think of.
Thanks
Edit/Solution:
To get the program to work with the suggested solutions I had to make the following changes to the struct,
typedef struct diceData
{
int dice1;
int dice2;
};
You’ll want
typedef struct ... diceDatato occur before your function, and then the signature of the function will bediceData RollDice().typedef <ORIGTYPE> <NEWALIAS>means that whenever<NEWALIAS>occurs, treat it as though it means<ORIGTYPE>. So in the case of what you’ve written, you are telling the compiler thatstruct RollDiceis the original type (and of course, there is no such struct defined); and then it sees()where it was expecting a new alias.