Model_info *model = (Model_info*)malloc(sizeof(Model_info));     model->texture = new LPDIRECT3DTEXTURE9[model->NumMaterials];这句错误了
error C2440: '=' : cannot convert from 'struct IDirect3DTexture9 ** ' to 'struct IDirect3DTexture9 *'应该怎么改呢?

解决方案 »

  1.   

    model->texture = new LPDIRECT3DTEXTURE9[model->NumMaterials];
    -->
    model->texture = new LPDIRECT3DTEXTURE9*[model->NumMaterials];
      

  2.   


    还是不行呢
    error C2440: '=' : cannot convert from 'struct IDirect3DTexture9 ***  ' to 'struct IDirect3DTexture9 *'
      

  3.   

    Model_info里的texture字段是怎么定义的,也不贴出来。不过我根据你的错误信息,估计他是个指针的指针。所以应该真么弄
    (×(model->texture)) = new LPDIRECT3DTEXTURE9[model->NumMaterials];
      

  4.   

    model->texture = new DIRECT3DTEXTURE9[model->NumMaterials];
      

  5.   

    struct Model_info
    {
    DWORD NumMaterials;
    LPD3DXMESH Mesh;
    LPDIRECT3DTEXTURE9 texture; LPD3DXBUFFER adjacency_buffer;
    LPD3DXBUFFER materials_buffer; 
    };是这样的