Visual Studio 报错 写入访问权限冲突 请问如何解决?

#include
struct TreeNode {
    int val;
    struct TreeNode* left;
    struct TreeNode* right;
    
};
struct TreeNode* fun() {
    struct TreeNode* root = malloc(sizeof(struct TreeNode));
    root->val = 1;
    return root;
}
int main() {
    fun();
    return 0;
}

img


最近再做链表的题目的时候 老是会出现这种报错:写入访问权限冲突
但是在一些OJ(力扣 hydro)上面却能过 不知是为何

malloc返回void*,要转换一下
struct TreeNode* fun() {
    struct TreeNode* root =(struct TreeNode*) malloc(sizeof(struct TreeNode));
    root->val = 1;
    return root;
}