编译器: VS.NET 2003
打开优化内联函数展开, 运行程序就出现无法访问0x000005.....内存错误
跟踪调试了一下,发现问题很奇怪,都是调用些内联函数出错,找不到原因
这些内联函数都是一句代码:return this->m_xxxx,确认this指针没有问题。能否知道哪里的原因?
打开优化内联函数展开, 运行程序就出现无法访问0x000005.....内存错误
跟踪调试了一下,发现问题很奇怪,都是调用些内联函数出错,找不到原因
这些内联函数都是一句代码:return this->m_xxxx,确认this指针没有问题。能否知道哪里的原因?
内联函数无非告诉编译器编译的时候直接CODE COPY,而不是编译之后运行时函数调用,检查是否有其他问题
具体错误:
tool.exe 中的 0x0041a855 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突 。
大致代码如下:
.h file:
const string &Name(void) const { return this->m_Name; }.cpp file:
this->m_bFocus = true; //<----不出错,this指针没问题
if( this->Name().Length() == 0 ); //<----出错
.....
有那些可能会导致这情况?
如果是PUBLIC的时候,this可能有问题哦,因为是代码替代啊