J'ai un problème simple avec les pointeurs. Voici mon code:C++ et multi pointeurs
#include <iostream>
#include <vector>
using namespace std;
int main()
{
typedef float RtPoint[3];
RtPoint** b = new RtPoint*[4];
b[0] = (RtPoint*)new RtPoint;
RtPoint* p = b[0];
RtPoint c;
(*p)[0] = &(c[0]);
(*p)[1] = &(c[1]);
(*p)[2] = &(c[2]);
std::cout << p[1] << " " << &(c[0]) << std::endl;
delete[] b;
return 0;
}
Je veux juste mettre en p[0]
, p[1]
et p[2]
l'adresse de c[0]
, c[1]
et c[2]
. Mon code est faux mais je n'ai pas trouvé de solution.
Désolé ma faute ce code fonctionne :)
typedef float RtPoint[3];
RtPoint** b = new RtPoint*[4];
b[0] = (RtPoint*)new RtPoint;
RtPoint c;
b[0] = &c;
Edit: oui, je l'ai vu mon erreur
Votre code est un vrai bordel. Si vous dites quel est votre problème plus général, je vais essayer d'aider –
Sans oublier, que voulez-vous dire par "mon code est faux"? Est-ce qu'il échoue à compiler (quels sont les messages de diagnostic)? Est-ce qu'il ne fonctionne pas (et quel message de terminaison obtenez-vous)? Cela donne-t-il des réponses inattendues (et de quoi s'agit-il)? –
Le PO a ajouté des réponses ci-dessous avec plus d'informations, et semble penser que le problème est résolu. – Bill