Managed C++ Probleme

MD1978

Erfahrenes Mitglied
Hallo,
ich habe folgenden Code:
Code:
struct A
 
{
 
public:
 
double a;
 
};
 
class Ac
 
{
 
public:
 
double a;
 
};
 
struct B
 
{
 
public:
 
A as[16];
 
};
 
class Bc
 
{
 
public:
 
A* as;
 
Bc()
 
{
 
as = new A[16];
 
}
 
};
 
 
 
 
 
Main()
 
{
 
B bs[10];
 
Bc *Bclass = new Bc[10];
 
for (int mm=0; mm<10; mm++)
 
{
 
for (int oo=0; oo<16; oo++)
 
{
 
bs[mm].as[oo].a = mm+oo+1; // does not work
 
Bclass[mm].as[oo].a = mm+oo+1; // works fine
 
}
 
}
 
 
 
}


Mir ist nicht klar, warum
bs[mm].as[oo].a = mm+oo+1;
nicht funktioniert, aber
Bclass[mm].as[oo].a = mm+oo+1;

Bei
bs[mm].as[oo].a = mm+oo+1;
werden nur dem ersten Element des Arrays Werte zugewiesen.

Hat jemand eine Ahnung?
 
Moin moin,

Keine Ahnung wofür der Code gut sein soll aber bei mir der einwandfrei...
Wofür brauchst du die "public:" in den Structs? Sind die nicht nur für Klassen gedacht/Sinnvoll? Lern gern was dazu :-)

Was sagt denn dein Debugger zu dem Problem? Welchen Compiler nutzt du?

Gruss Michael
 
Zurück