J'ai une belle erreur de compilation sous MSVC 2003/7.1
J'ai trouvé une explication, mais je ne trouve pas comment réparer mon code.
Voici l'explication : http://www.thescripts.com/forum/thread264827.html
Donc maintenant, la déclaration de la fonction template :
Je pensais avoir mis les bons arguments à la fonction, mais peut-être pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 template<template <class, unsigned int, unsigned int> class MatrixType, class DataType, unsigned int Height, unsigned int Width, unsigned otherHeight, unsigned otherWidth> const typename MatrixType<bool, (Height == 0 ? otherHeight : Height), (Width == 0 ? otherWidth : Width)>::ComparisonResult operator==(const MatrixType<DataType, Height, Width>& lhs, const MatrixType<DataType, otherHeight, otherWidth>& rhs)
Ce code compile sans pb avec GCC4.1, et ce n'est que ce soir que j'ai essayé de remettre à jour la version Windows...
Je pense que c'est là car l'erreur de compilation est à une ligne qui utilise cette fonction, et c'est la seule opération - un if -, mais même avec l'aide, je n'arrive pas à savoir comment virer cette erreur.
Je ne suis pas trop chaud pour remettre l'opérateur dans une classe, acr il faudrait que je l'implémente dans pas mal de classes qui ont la même gueule que celle-ci.
Partager