Tableau/procédure [Résolu]

nopnop77 19 Messages postés mercredi 9 février 2005Date d'inscription 21 avril 2009 Dernière intervention - 26 oct. 2007 à 22:59 - Dernière réponse : nopnop77 19 Messages postés mercredi 9 février 2005Date d'inscription 21 avril 2009 Dernière intervention
- 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
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 26 oct. 2007 à 23:19
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++ (@++)<!--

Merci SAKingdom 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de SAKingdom
nopnop77 19 Messages postés mercredi 9 février 2005Date d'inscription 21 avril 2009 Dernière intervention - 26 oct. 2007 à 23:36
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
nopnop77 19 Messages postés mercredi 9 février 2005Date d'inscription 21 avril 2009 Dernière intervention - 26 oct. 2007 à 23:40
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
nopnop77 19 Messages postés mercredi 9 février 2005Date d'inscription 21 avril 2009 Dernière intervention - 26 oct. 2007 à 23:48
0
Merci
okok j'ai plus de problème sujet clot merci.
Commenter la réponse de nopnop77
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 26 oct. 2007 à 23:57
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
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 27 oct. 2007 à 00:01
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
nopnop77 19 Messages postés mercredi 9 février 2005Date d'inscription 21 avril 2009 Dernière intervention - 27 oct. 2007 à 01:20
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.