CArray als Übergabeparameter -> Problem!



  • Hi,

    Habe hier folgende Methode:

    void Ce8Element::setNextNodesID( CArray<int, int> nNextNodesID )
    {
       ...
    }
    

    Und so rufe ich sie auf:

    ...
    ......
          if((*m_ptrGraph[jj]).getNodeName() == strNextNodes[kk])
          {
             nNextNodesID.Add(jj);
          }
       }
    }
    (*m_ptrGraph[ii]).setNextNodesID( nNextNodesID );
    

    Ok, und nun kommt der Compiler und sagt folgendes:

    error C2664: 'setNextNodesID' : cannot convert parameter 1 from 'class CArray<int,int>' to 'class CArray<int,int>'
            No copy constructor available for class 'CArray<int,int>'
    

    Frage, was muss ich tun um dieses Problem zu umgehen? Muss ich mit Pointern bzw. Referenzen arbeiten oder gehts auch anders?



  • ja referenz

    void Ce8Element::setNextNodesID( CArray<int, int> &nNextNodesID )
    {

    }

    rest des codes bleibt gleich



  • But more important, 'CArray' is not standard, and it sucks. The STL
    container classes are much better, and you are "allowed" to use them in
    an MFC project!



  • in pure mfc projects standard doesn`t matter
    even if i prefer deque too


Anmelden zum Antworten