以下模板函数获取文件中的记录数。它已在Visual Studio(2005年,2012年)中正常运行多年。但是在Visual Studio 2015中,使用“最大化速度/ O2”进行优化时,除法运算将消失,并返回不正确的值。 (在调试中工作,而不是在发布中)
标题文件摘要:
template <class R, int N>
int MyClass<R,N>::GetCount() const
{
return m_pPtr->GetFileSize() / sizeof(R) : 0;
}
在那里添加一些日志记录似乎可以修复它,例如:
template <class R, int N>
int MyClass<R,N>::GetCount() const
{
FILE *FP = fopen("test.log", "a+");
fprintf(FP, "whatever");
fclose(FP);
return m_pPtr->GetFileSize() / sizeof(R) : 0;
}
有没有办法以合理的方式解决这个问题?