aJ.*_*aJ. 6 c++ compiler-construction visual-c++-6
最近我面临着指向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;
}
Run Code Online (Sandbox Code Playgroud)
您是否遇到过与VC6.0相关的任何其他问题.解决这些问题的任何解决方法?还是时候改变编译器了?
Edo*_* A. 37
坦率地说,我很难理解你为什么不买现代电脑并转而使用Visual Studio 2008.
VC6缺乏STL,差的C++标准兼容性和过时的GUI.
你不应该让竞争对手使用比你更好的工具.
嗯,这就是事情.VC6编译器很糟糕.但是...... IDE非常好.
VS2005具有更好的源代码控制支持.否则,它的调试速度要慢得多,有一个糟糕的输出窗格,在插入输出行时呈指数衰减(绝对垃圾编码是什么?),帮助系统慢了很多倍,调试和继续(可能是微软最好的功能而不是其他IDE)更加破碎.
.净?当然,VS20xx是唯一的出路.但是,对于一个坚持使用VC6/MFC的小客户端(用于嵌入式系统的接口等),我实际上喜欢使用VC6.这只是快点.
2008年?我想...但我的客户需要一段时间才能迁移.还没有人.
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |