gpt4 book ai didi

c++ - 是时候告别 VC6 编译器了吗?

转载 作者:可可西里 更新时间:2023-11-01 18:40:08 24 4
gpt4 key购买 nike

最近我遇到了指向 VC6 编译器的问题。

其中很少有:

  1. 函数尝试 block 不起作用。 Related Q
  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;
}

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

最佳答案

坦率地说,我很难理解您为什么不购买现代计算机并改用 Visual Studio 2008。

VC6 有缺陷的 STL、差的 C++ 标准合规性和过时的 GUI。

您不应该让您的竞争对手使用比您更好的工具。

关于c++ - 是时候告别 VC6 编译器了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/733495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com