我想有一部分代码在一次运行时只执行一次。
我在VC中写如下代码:

          static
{
InitCriticalSection();
}编译时出错:
 warning C4091: 'static ' : ignored on left of 'int' when no variable is declared
 error C2143: syntax error : missing ';' before '{'

解决方案 »

  1.   

    #pragma once或者有笨方法,设置变量。构造函数中使他为1。然后
    运行的时候if(xx==1)就是第1次啊,然后是他++。不知道行不行
      

  2.   

    static
    {
    InitCriticalSection();
    }这段代码什么意思?这个保留字有这个功能吗?
      

  3.   

    最简单的还是像zhjie374(zhjie374)那样
    设置一个开关变量
      

  4.   

    InitCriticalSection()
    {
        static int a =0;
        if(a>0)
            return;
        a++;
        ......
    }
      

  5.   

    #ifndef _ONE
    #define _ONE
    // 写你的要执行一次的代码在这里
    #endif //_ONE
      

  6.   

    在类中定义一个变量:
    BOOL bResult;初始化时为TRUE;判断:
    if(bResult)
    {
       bResult = FALSE;
       // 写你的要执行一次的代码在这里
    }
      

  7.   

    #pragma once是编译一次,不是执行一次