自己在做一个小波变换的平台,就是把matlab的程序改成C++
其中的程序编译没有问题,可是在我进行操作的时候,选择了要进行处理的文件开始进行水印嵌入之后,会提示如下的错误:
Run-Time Check Failure #3 - The variable 'pTrans' is being used without being defined.
我在文件中的定义是 CWvltTrans *pTrans  CWvltTrans是一个小波处理类
我在论坛上搜到 出现这种错误的大部分原因都是说没有进行初始化 可是关键问题是我的小波处理类中没有数据成员 
而且我在看、查看断点的时候 看到pTrans的数值是0xcccccccc  感觉应该是其它方面出了问题
PS:小波处理类是调试通过的  另外曾经做过一个VC对话框专门测试小波处理 结果没有错误请论坛的大牛们给分析分析吧 谢谢了

解决方案 »

  1.   

    CWvltTrans *pTrans;
    这个只是个指针变量而已,你不赋值当然指向的是一个不可预知的地址
    ,所以指针肯定要先赋值,才能用的,不知道你说的
    “可是关键问题是我的小波处理类中没有数据成员 ” 
    是什么意思,好像跟这个没关系吧或者你可以用CWvltTrans pTrans;//直接定义一个对象
      

  2.   

    CWvltTrans *pTrans;
    这只是定义,你并没有初始化。当用pTrans,由于它指向的内存不确定所以会抱错。
    若只是声明一个指针  建议声明后立即把它赋null,等到你用到的时候再修改它的值
    CWvltTrans *pTrans = null;
    你说这个类没有数据成员,那么这个类有成员方法没?没有数据成员和方法的类有啥用?
      

  3.   

    CWvltTrans *pTrans只是指针变量,你并没给分配任何空间,当pTrans被用到时,由于pTrans指向不确定,所以就出现你上面的问题