最近,我面临着将手指指向VC6编译器的问题。
其中很少有:
下面的示例未使用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/