Avatar billede cholmis Nybegynder
23. april 2008 - 14:28 Der er 7 kommentarer

Problemer med new i visual studio express c++ 2008

Når jeg skriver

unsigned char buffer[] = new unsigned char[128];

får jeg en fejlmeddelelse:

1>.\TcpClientMcpp.cpp(29) : error C2440: 'initializing' : cannot convert from 'unsigned char *' to 'unsigned char []'
1>        There are no conversions to array types, although there are conversions to references or pointers to arrays

Hvad er forklaringen?
På forhånd tak.
Avatar billede lars314 Nybegynder
23. april 2008 - 14:51 #1
Jeg tror du skal skrive

unsigned char* buffer = new unsigned char[128];
Avatar billede arne_v Ekspert
23. april 2008 - 14:55 #2
unsigned char *buffer = new unsigned char[128];
Avatar billede cholmis Nybegynder
23. april 2008 - 15:42 #3
Fandt også frem til det. Takker mange gange.
Problemet opstod i en class

Der stod
unsigned char buffer __gc[] = new unsigned char __gc[128];
men så skal man compilere med /clr:oldSyntax

Måtte lige tilbage til den første og se hvad linien i virkeligheden oprettede.
Fandt ud af det uden oldSyntax skal hedde
unsigned char buffer[128];

Men nu opstår et andet problem
buffer = Encoding::ASCII->GetBytes(s);

Følgende fejlmeddelelse:

TcpClientMcpp.cpp(29) : error C2440: '=' : cannot convert from 'cli::array<Type,dimension> ^' to 'unsigned char [128]'
1>        with
1>        [
1>            Type=unsigned char,
1>            dimension=1
1>        ]

Hjælp igen???
Avatar billede arne_v Ekspert
23. april 2008 - 16:22 #4
char^ c1 = gcnew char[10];
    array<Byte>^ c2 = Encoding::UTF8->GetBytes(L"ABC");

begge compiler
Avatar billede cholmis Nybegynder
25. april 2008 - 10:00 #5
Det hjalp. Men problemet er nok jeg er for ny i programmering.
Det der top level tegn. Hvad betyder det egentlig.
Avatar billede arne_v Ekspert
25. april 2008 - 15:03 #6
Du har bevaeget dig ud i en jungle.

char *c1 = new char[10];

er standard C++ og unmanaged C++ i Visual C++

char^ c1 = gcnew char[10];

er managed C++ i Visual Studio

der er rigtig stor forskel paa de to !!
Avatar billede arne_v Ekspert
30. august 2008 - 02:02 #7
cholmis ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester