致命错误C1004:发现意外的文件结尾

时间:2012-04-02 14:48:09

标签: c++ visual-c++

我收到上面的错误消息(我用Google搜索并找到了缺少大括号或其他东西),但是,我看不到这个缺少的括号在哪里?

#include "stdafx.h"
#include <Windows.h>
#include <iostream>
using namespace std;

    class Something{


        static DWORD WINAPI thread_func(LPVOID lpParameter)
        {
            thread_data *td = (thread_data*)lpParameter;
            cout << "thread with id = " << td->m_id << endl;
            return 0;
        }


        int main()
        {
            for (int i=0; i< 10; i++)
            {
                CreateThread(NULL, 0, thread_func, new thread_data(i) , 0, 0);
            }

            int a;

            cin >> a;
        }

        struct thread_data
        {
            int m_id;
            thread_data(int id) : m_id(id) {}
        };

    }

4 个答案:

答案 0 :(得分:23)

在C ++中,class关键字在结束括号后需要一个分号:

class Something {

};  // <-- This semicolon character is missing in your code sample.

答案 1 :(得分:5)

您的班级Something需要有一个终止分号。

class Something{

}; // missing

答案 2 :(得分:2)

;定义的右大括号(})后需要分号(class Something

答案 3 :(得分:0)

您可能错过了

#ifdef  ROCKSTAR 

#endif <--- this might be missing