是什么 原因,使C++的线程函数,必须是Static 的?那个 隐式 的 this 参数 不会是技术障碍吧?

解决方案 »

  1.   

    搞清楚了:
    根本原因是,C++,与C#的本质区别造成的,
    C++面向对象是不完全的,
    C#面向对象是完全的;C++里边,启动线程用的API,那么 他如果,用非静态的函数,
    那么它就要确定传类的指针 this(就是那个隐式参数),那么他知道是哪个实例么?
    所以只能是静态的;
    而C#里 线程的启动方法变了,当一个线程对象,是类的成员的时候,一个对象就和一个实例榜定了,
    他就知道是哪个实例了,所以
    呵呵,但是,如果你在C#类的静态函数,启动线程,就出现了C++同样的问题,她不知道是哪个实例了,所以,
    也会报错;