Its quite a common question but I have not got my answer so asking it again.
I have structers defined as:
struct f_lock{
int x;
struct f_lock *next;
};
Then say I have a function:
struct f_lock *new_node()
{
struct f_lock *new_f_lock;
.....
return new_f_lock;
}
Which I call from another function:
struct f_lock *new_f_lock;
new_f_lock = new_node(); //This line gives the error warning:assignment makes pointer from integer without a cast
Would be grateull for help
Thanks
Did you also get the error
implicit declaration of function ‘new_node’? Because in that case, you probably forgot to declarenew_nodein the module where you’re calling it. (If you’re not getting that error, recompile with-Wallto turn more warnings on.)Explanation of the warning message: if
new_nodehas not been declared properly, the compiler will assume it returnsint, which is a kind of default return type (for historical reasons).