相关疑难解决方法(0)

是时候和VC6编译器说再见了吗?

最近我面临着指向VC6编译器的问题.

其中很少是:

  1. 函数try-block不起作用.相关问题
  2. 课堂常数不起作用.
  3. __FUNCTION_(获取函数名称的宏)不起作用
  4. 最新添加的是它不允许将void函数作为for_each的一部分传递.

以下示例未使用VC6编译器进行编译.它说"错误C2562:'()':'void'函数返回一个值".看起来VC6不喜欢将void函数传递给for_each.

class Temp
{
public:
    Temp(int i):m_ii(i)
    {}

    int getI() const
    {
        return m_ii;
    }

    void printWithVoid()
    {
        cout<< "i = "<<m_ii<<endl;

    }
    bool printWithBool()
    {
        cout<< "i = "<<m_ii<<endl;
        return true;
    }
private:
    int m_ii;
};

int main(void) 
{
    std::vector<Temp>  arrTempObjects;

    arrTempObjects.push_back(Temp(0));
    arrTempObjects.push_back(Temp(2));

    //Doesnot work, compiler error 
    std::for_each(arrTempObjects.begin(), arrTempObjects.end(), std::mem_fun_ref(&Temp::printWithVoid));

    //Works
    std::for_each(arrTempObjects.begin(), arrTempObjects.end(), std::mem_fun_ref(&Temp::printWithBool));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

您是否遇到过与VC6.0相关的任何其他问题.解决这些问题的任何解决方法?还是时候改变编译器了?

c++ compiler-construction visual-c++-6

6
推荐指数
3
解决办法
3287
查看次数

标签 统计

c++ ×1

compiler-construction ×1

visual-c++-6 ×1