Tableau/procédure [Résolu]

Messages postés
19
Date d'inscription
mercredi 9 février 2005
Dernière intervention
21 avril 2009
- - Dernière réponse : nopnop77
Messages postés
19
Date d'inscription
mercredi 9 février 2005
Dernière intervention
21 avril 2009
- 27 oct. 2007 à 01:20
Bonjour !

Voila j'ai un problème à passer un tableau en paramètre entrée/sortie pour une procédure.
Voici un code simplifié:

#include
using namespace std;

void main ()
{
   
    int tab[2];
    void Proc ( int & tab[]);   // problème 1

    tab[0] = 1;
    tab[1] = 2;

    void Proc ( & tab[]);   // problème 2

    cout<<tab[0]<<""<<tab[1];

   

}

void Proc ( int & tab[])   // = problème 1
{

    tab[0]++;
    tab[1]++;
}

Evidemment j'aimerias afficher :    2   3
Pour le problème 1 et 2, dois-je mettre  [] ou [2], ou *, je ne connais pas la synthaxe exacte.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
3
Merci
void Proc ( int & tab[]) <- Référence sur tableau
void Proc ( int & tab[]); <- ??? C'est un protoype ?
void Proc ( & tab[]); <- Hein ???

Tu sais ce que tu fais ?

void Proc (int *tab) <- Fonction (déclaration)
{
    ...
}

Proc(tab); <- Appel.

Ouvre un livre de C++ avant d'aller plus loin.

C++ (@++)<!--

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de SAKingdom
Messages postés
19
Date d'inscription
mercredi 9 février 2005
Dernière intervention
21 avril 2009
0
Merci
void Proc ( int & tab[]);     ça c ma déclaration de procédure
Proc ( tab[]);      ça c'est l'appel (effectivement la j'ai oublié pas mettre le "&")

void Proc ( int & tab[])
{
}
ça c'est ma procédure.

Mais je dois mettre :
void Proc ( int & tab[]);
ou void Proc ( int & tab[20]);
ou void Proc ( int & *tab[]);

je ne sais pas la synthaxe quelqu'un d'autre pourrais m'aider parque la Saking tu m'a répondu mais bon....  merci quand même.
Commenter la réponse de nopnop77
Messages postés
19
Date d'inscription
mercredi 9 février 2005
Dernière intervention
21 avril 2009
0
Merci
En fait je crois que ta réponse me satisfait je teste ça mais faut que je mette le "&" sinon il sera pas en entrée/sortie nan?
Commenter la réponse de nopnop77
Messages postés
19
Date d'inscription
mercredi 9 février 2005
Dernière intervention
21 avril 2009
0
Merci
okok j'ai plus de problème sujet clot merci.
Commenter la réponse de nopnop77
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
0
Merci
void func (int & toto)
Ici, & est une référence. C'est pour "simplifier" la programmation (si on peut dire).

Exemple sans référence:
int toto;
func (&toto); // <- On donne l'adresse de toto

Exemple avec référence:
int toto;
func(toto); // <- C'est le compilo qui s'en occupe

&toto, comme montré plus haut, sert à retrouver l'adresse d'une variable.
C++ (@++)<!--
Commenter la réponse de SAKingdom
Messages postés
3213
Date d'inscription
lundi 7 novembre 2005
Dernière intervention
16 février 2009
0
Merci
Quand je parle d'une fonction sans référence, je parle d'une fonction demandent un pointeur à la place:
void func (int *toto)

C++ (@++)<!--
Commenter la réponse de SAKingdom
Messages postés
19
Date d'inscription
mercredi 9 février 2005
Dernière intervention
21 avril 2009
0
Merci
Je ne savais pas que le compilo s'en occupait. Merci bien !
Commenter la réponse de nopnop77

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.