问题描述
最近我面对的问题,指向VC6编译器。
Of late I'm facing the issues that points finger to VC6 compiler.
其中很少有:
- 功能块不工作。
- 同类常数不起作用。
- __ FUNCTION_(获取函数名称的宏)不起作用
- 最新添加 it doesn'
- A function-try-block doesn't work. Related Q
- in-class constant doesn't work.
- __FUNCTION_ (Macro to get function name) doesn't work
- The latest addition is it doesn't allow void functions to be passed as part of for_each.
下面的示例不是使用VC6编译器编译的。它说错误C2562:'()':'void'函数返回一个值。看起来VC6不喜欢void函数传递给for_each。
The below example is not compiling with VC6 compiler. It says "error C2562: '()' : 'void' function returning a value". It looks like VC6 doesn't like void functions to be passed to 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相关的其他问题。解决这些问题的任何解决方法?
Have you faced any other issues related to VC6.0. Any workaround to resolve these issues ? Or is it time to change the compiler?
推荐答案
坦白说,我几乎不明白为什么不买现代计算机和切换到Visual Studio 2008.
Quite frankly I can hardly understand why you wouldn't buy a modern computer and switch to Visual Studio 2008.
VC6的STL不足,C ++标准合规性较差和过时的GUI。
VC6 has got a deficient STL, poor C++ standard compliance and obsolete GUI.
你不应该让你的竞争对手使用比你更好的工具。
You shouldn't let your competitors use better tools than you.
这篇关于是时候告别VC6编译器了吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!