2009-12-18 2 views

Répondre

13

Essayez ceci:

std::vector<std::vector<double> > v2; //give a space between two '>'

">>" est interprété comme l'opérateur de décalage droit et donc vous obtenez une erreur de compilation.

Ce problème sera corrigé dans C++ 0x. Jetez un oeil here.

+2

Encore une raison de plus que je ne peux pas attendre que C++ 0x soit finalisé :) – ZoogieZork

+0

Je sais pourquoi cela se produit. La question est pourquoi il compile sans problème dans VC++. Quoi qu'il en soit - je suis à la recherche d'une solution d'option de compilateur pour rendre CC plus compatible avec VC++ - parce que je ne pouvais pas changer la source d'origine. – Steve

+2

Je pense que c'est une extension MSVC++. –

5

Vous avez besoin d'un espace entre les deux signes supérieur:

std::vector<std::vector<double> > v2; 

Sinon, le « >> » est traité comme un seul jeton.

5
std::vector<std::vector<double> > v2; 

Vous devez ajouter un espace, autrement, il sera interprété comme opérateur >>.