Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Déclaration de fonction avec vecteur

4 réponses
Avatar
xni
Bonjour,

J'ai un petit probleme de d=E9claration de fonction avec Vecteur. Je
veux utiliser une fonction (r=E9cup=E9r=E9) qui est et que je d=E9clare
ainsi:

#include <algorithm>
#include <vector>

double cash_flow_irr(const vector<double>& cflow_times, const
vector<double>& cflow_amounts);

Mais mon compilateur (Visual C++) m'indique le message d'erreur
suivant:
" error C2143: erreur de syntaxe : absence de ',' avant '<'"

C'est la premiere fois que j'utilise une fonction 'vectorielle' et la
syntaxe semble bonne au vu de ce qui est fait sur le Net! Faut il
d=E9clarer cela autrement dans VC++?
Merci de toute id=E9e concernant la syntaxe..
Xavier

4 réponses

Avatar
Marc Boyer
Le 21-06-2005, xni a écrit :
Bonjour,

J'ai un petit probleme de déclaration de fonction avec Vecteur. Je
veux utiliser une fonction (récupéré) qui est et que je déclare
ainsi:

#include <algorithm>
#include <vector>

double cash_flow_irr(const vector<double>& cflow_times, const
vector<double>& cflow_amounts);

Mais mon compilateur (Visual C++) m'indique le message d'erreur
suivant:
" error C2143: erreur de syntaxe : absence de ',' avant '<'"


Je ne connais pas VC++, mais essayons tout de même:

#include <algorithm>
#include <vector>
double cash_flow_irr(const std::vector<double>& cflow_times,
const std::vector<double>& cflow_amounts);

Qu'est-ce que celà donne ?

Marc Boyer
--
À vélo, prendre une rue à contre-sens est moins dangeureux
que prendre un boulevard dans le sens légal. À qui la faute ?

Avatar
kanze
xni wrote:

J'ai un petit probleme de déclaration de fonction avec
Vecteur. Je veux utiliser une fonction (récupéré) qui est et
que je déclare ainsi:

#include <algorithm>
#include <vector>

double cash_flow_irr(const vector<double>& cflow_times, const
vector<double>& cflow_amounts);

Mais mon compilateur (Visual C++) m'indique le message d'erreur
suivant:
" error C2143: erreur de syntaxe : absence de ',' avant '<'"


Le message d'erreur est un peu curieux, mais a priori, comme ça,
j'imagine que l'erreur est due au fait que le compilateur ne
connaît pas le symbole vector (et puisqu'il ne sait donc pas que
c'est un template, il essaie d'interpréter le < comme inférieur
à).

En C++ standard, le nom du type d'un tableau, c'est std::vector.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Avatar
nico
xni wrote:

Bonjour,

J'ai un petit probleme de déclaration de fonction avec Vecteur. Je
veux utiliser une fonction (récupéré) qui est et que je déclare
ainsi:

#include <algorithm>
#include <vector>

double cash_flow_irr(const vector<double>& cflow_times, const
vector<double>& cflow_amounts);

Mais mon compilateur (Visual C++) m'indique le message d'erreur
suivant:
" error C2143: erreur de syntaxe : absence de ',' avant '<'"

C'est la premiere fois que j'utilise une fonction 'vectorielle' et la
syntaxe semble bonne au vu de ce qui est fait sur le Net! Faut il
déclarer cela autrement dans VC++?
Merci de toute idée concernant la syntaxe..
Xavier


Ca peut paraitre bete mais es-tu sur d'etre dans le namspace std ?
Sinon std::vector<...> devrait corriger le problème.

--
nico

Avatar
xni
Merci a tous, le probleme était bien std::vector (je n'étais
effectivement pas dans le namspace std ) et j'avais du mal a
comprendre le message d'erreur...
Désolé de cette question...
Xavier