de retour de la fonction est de type vector en c++
je veux vecteur comme type de retour de la fonction dans mon code comme,
class SocketTransportClient{
void sendData(RMLInfoset *info){
vector<unsigned long>::iterator blockIterator;
vector<unsigned long> vectBlock=info->getRML(); //error : error C2440: 'initializing' : cannot convert from 'std::vector<_Ty>' to 'std::vector<_Ty>'
}
}
class RMLInfoset {
vector<unsigned int> RMLInfoset::getRML(){
return vectDataBlock;
}
}
mais ça affiche une erreur " impossible de convertir de 'std::vector<_Ty>' pour 'std::vector<_Ty>''
donc, s'il vous plaît tout on m'aider,
Merci.
Vous devez vous connecter pour publier un commentaire.
Votre fonction est déclarée pour retourner
vector<unsigned int>
mais vous êtes fait essayez d'affecter le résultat à unevector<unsigned long>
. Ceux-ci sont de différents types et pas compatible avec l'assignation. Modifier votre déclaration de fonction:Vous devrez également modifier le type de
vectDataBlock
. Fondamentalement, décider quel type de vecteur que vous souhaitez utiliser et être conforme.Bien, une partie du problème est que vous n'avez jamais réellement construire le
vector v
dansMyfun
.EDIT:
Après la question éditer, il y a encore un petit problème: vous avez besoin de déclarer le vecteur comme un
std::vector<int>
, pas seulement unvector<int>
, comme ci-dessus. C'est parce que vecteur réside dans lestd
espace de noms.Vous avez trois erreurs
1) Vous n'avez pas utiliser
#include <vector>
2) Il doit être
std::vector<int> v;
au lieu devector<int> v;
3) Vous n'avez pas de poste tous de votre code.