约瑟夫环的问题,C++链表

#include <iostream>


using namespace std;
struct node {
    int data;
    struct node* next;
};
int main() {
    int n, m, count, j = 1;
    int answer[100];
    struct node* head, * tail, * p, * q;
    head = (struct node*)malloc(sizeof(struct node*));
    head->next = NULL;
    while (1) {
        cout << "输入n和m!\n";
        cin >> n; cin >> m;
        if (n == 0 || m == 0)
        {
            free(head);
            break;
        }


        else {
            tail = head;//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            for (int i = 0; i < n; i++) {  //尾插法!
                //q = tail;
                p = (struct node*)malloc(sizeof(struct node*));
                p->data = i + 1;
                tail->next = p;
                p->next = head->next;//切记不要忘记该步骤!形成循环链表!
                                     //将p.next也就是最后一个node的next指向head的next结点也就是head的下一个结点也就是头结点!
                tail = p;//将tail定为最后一个!
            }

            q = tail;//注意是tail而不是head!!因为head没有数据,是头结点!而不是存储数据的首结点!
            p = head->next;
            count = 1;
            while (p != q) {
                if (count == m) {
                    q->next = p->next;
                    free(p);
                    p = q->next;//!注意别忘记了!
                    count = 1;//!注意别忘记了!
                }
                else {
                    q = p;
                    p = p->next;
                    count++;
                }
            }
            //head->next = q;//此处是保留循环链表!若不需要可删去!
            answer[j] = p->data;
            j++;
            free(p);
            head->next = NULL;
        }


    }



    for (int c = 0; c <= j; c++) {
        cout << "大王为: " << answer[c] << endl;
    }


    return 0;
}

1> 已启动生成: 项目: Project9, 配置: Debug Win32
1>plorg.cpp
1>D:\visual studio\C++练习项目\Project9\Project9\plorg.cpp(1,1): warning C4335: 检测到 Mac 文件格式: 请将源文件转换为 DOS 格式或 UNIX 格式
1>D:\visual studio\C++练习项目\Project9\Project9\plorg.cpp(1,10): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号
1>D:\visual studio\C++练习项目\Project9\Debug\Project9.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>已完成生成项目“Project9.vcxproj”的操作 - 失败。
生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个

这个编译都不通过,暂时不是代码问题。你重新新建选择控制台程序。