我在对话框里面用char[100]获取了一个字符串,然后向view类里面发送了一个消息。
在view里面用了强制转换
char* TEXNAME = new char(100); 
TEXNAME =(char*) wParam;
现在出现了一个问题。以下是一个正确的,一个是错误的
1.正确
#define   TEXNAME1   ".\\墙纸成品\\条纹1.rgb"
pfLoadTexFile( tex, TEXNAME );
2.错误
char* TEXNAME = new char(100); 
TEXNAME =(char*) wParam;
pfLoadTexFile( tex, TEXNAME );//编译通过,但不能进行pfLoadTexFile要求的操作。问一下大家,有什么好办法解决嘛....

解决方案 »

  1.   

    char* TEXNAME = new char(100); 
    TEXNAME =(char*) wParam;
    ==这个代码是太典型的内存泄漏了。TEXNAME即将指向wParam传来的数据地址,那你还new char(100)干吗呢?而且,即使你要new,也是new char[100]啊,你连字符数组怎么定义都搞错了......
      

  2.   

    char *TEXNAME =(char*) wParam;
    pfLoadTexFile( tex, TEXNAME );就行了
      

  3.   

    new char(100)?是new char [100] 吧
      

  4.   

    char* TEXNAME = new char(100); 
    TEXNAME =(char*) wParam;
    =========
    你分配的new char[100]丢失了。
      

  5.   

    设断点。看TEXNAME =(char*) wParam;
    这时TEXNAME 是什么内容
      

  6.   

    囧new char();和new char[]没有弄清楚吧