C++ Error: No match for 'operator='

Avoir un problème lors de l'affectation d'une valeur à un tableau. J'ai une classe que j'ai créé et appelé Treasury. J'ai créé une autre classe appelée TradingBook qui je veux contenir un tableau global de Treasury qui peut être accessible à partir de toutes les méthodes dans TradingBook. Voici mes fichiers d'en-tête pour TradingBook et de la Trésorerie:

class Treasury{
public:
    Treasury(SBB_instrument_fields bond);
    Treasury();
    double yieldRate;
    short periods;
};


class TradingBook
{
public:
    TradingBook(const char* yieldCurvePath, const char* bondPath);
    double getBenchmarkYield(short bPeriods) const;
    void quickSort(int arr[], int left, int right, double index[]);

    BaseBond** tradingBook;
    int treasuryCount;
    Treasury* yieldCurve;
    int bondCount;
    void runAnalytics(int i);
};

Et voici mon code principal où j'obtiens le message d'erreur:

TradingBook::TradingBook(const char* yieldCurvePath, const char* bondPath)
{
    //Loading Yield Curve
    //...
    yieldCurve = new Treasury[treasuryCount];

    int periods[treasuryCount];
    double yields[treasuryCount];
    for (int i=0; i < treasuryCount; i++)
    {
        yieldCurve[i] = new Treasury(treasuries[i]);
        //^^^^^^^^^^^^^^^^LINE WITH ERROR^^^^^^^^^^^^^^
    }
}

J'obtiens l'erreur:

Pas de match pour 'operator=' sur la ligne 'yieldCurve[i] = new Treasury(treasuries[i]);'

Des conseils?

  • C'est exactement le même problème que vous demandé hier. La seule différence est que cela se passe avec une autre variable. C'est peut-être temps d'investir dans une bonne C++ livre, votre compréhension des tableaux et pointeurs qui pourraient être améliorés.
InformationsquelleAutor CHawk | 2011-10-17