PDA

View Full Version : [Visual C++] Puntatori


nico88desmo
12-07-2007, 10:17
Ho da poco iniziato a programmare in Visual C++;
Conosco piuttosto bene il C e il Java.

Vengo subito al problema. Sto cercando di allocare in memoria un oggetto;

In linguaggio C so che si fà:
ogg *nome = (ogg *) malloc (sizeof(ogg));

In Java:
ogg nome = new ogg();

In C++ ho visto che la sintassi è la seguente:
ogg *nome = new ogg();

Bene, ho provato a fare con quest'ultimo modo in Visual C++ e mi viene fuori il seguente errore:
error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'prova_2::ogg'
(prova_2 = namespace che sto utilizzando).

Cosa significa questo errore?

71104
12-07-2007, 11:20
ma stai usando C++ Managed...?

nico88desmo
16-07-2007, 14:39
si

tomminno
16-07-2007, 14:52
si

Mai usato il C++ Managed, quello che hai fatto è corretto in C++ sicuramente.
Se ti serve l'ambiente managed a quel punto buttati su C#, se vuoi imparare le basi del C++ lascia perdere il catafalco del .NET e disabilita dal progetto il supporto al CLR.

Ufo13
17-07-2007, 08:38
Non so niente di c++ managed ma ho copia/incollato C3699 in google e mi e` uscito questo =)

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1835963&SiteID=1

tomminno
17-07-2007, 08:56
Non so niente di c++ managed ma ho copia/incollato C3699 in google e mi e` uscito questo =)

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1835963&SiteID=1

Infatti non stai compilando un progetto C++ standard ma una estensione M$ che utilizza il .NET, basta che tra le opzioni del progetto elimini l'utilizzo delle estensioni managed.
Vedrai che non avrai più errori.

nico88desmo
17-07-2007, 10:45
Grazie a tutti!
Ora provo e vediamo cosa succede :D