我的C程序中有以下typedef引发错误。这是我的代码的一部分-

typedef struct Room
{
    int ** values;
}Room;

int createRoom(Room pm) // it give me error unknown type Room
{
    //some code here
}

int main()
{
    Room *pm;
    pm=(Room)malloc(sizeof(Room));
    int n=callfun(pm);
    return 0;
}


它给了我unknown type Room error。另外,我在malloc行中遇到错误。
谁能告诉我我哪里错了

最佳答案

pm=(Room)malloc(sizeof(Room));


应该

pm=(Room *)malloc(sizeof(Room));


Don't cast malloc()

做就是了

pm= malloc(sizeof(Room));

关于c - C中的typedef和malloc错误(未知的srtuct类型),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28554754/

10-12 01:28
查看更多