error C2106: '=' : left operand must be l-value
-
also folgendes hab M$ visual c++ 98
und mir ne nette kleine konsolen anwendung gebastelt.
und jetzt ärge ich mich seit einigen stunden über diese doofen fehler.
error C2106: '=' : left operand must be l-valueder fehler deutet auf dies:
if(switcher2 == 861){
erro = true;
honigbit1="eweMAEAAAAAAAACAAAASCMNAAAAYEABAAAAAAAAAAAAAAAAAAAAhAMAADIAAADQYIMAAAA";
honigbit2="wewMAEAAAAAAAADAAAASCMNAAAAYEABAAAAAAAAAAAAAAAAAAAAhAMAADIAAADAxi0AAAA";}:sind beides char variablen ist bestimmt nur ein anfängerfehler oder sowas.
thx xyan
-
also ich bin erfolglos durchs forum gehetzt mit der super schnellen such funktion :-).
und hab nur heraus gefunden das dieser fehler auftritt wenn man falsche zuweisungen versucht.
meiner meinung weise ich der variablen honigbit einen vollkommen korekten char wert zu.PS: char honigbit1[71], honigbit2[71], switcher2;
xyan
-
Du kannst Arrays nichts zuweisen. Verwende strcpy.
Ich glaube übrigens nicht, dass switcher2 jemals den Wert 861 annehmen kann.
-
Stimmt, ein char kann den Wert 861 nie erreichen...
if(switcher2 == 861) // wird nie passieren { erro = true; strcpy(honigbit1, "eweMAEAAAAAAAACAAAASCMNAAAAYEABAAAAAAAAAAAAAAAAAAAAhAMAADIAAADQYIMAAAA"); strcpy(honigbit2, "wewMAEAAAAAAAADAAAASCMNAAAAYEABAAAAAAAAAAAAAAAAAAAAhAMAADIAAADAxi0AAAA"); }
-
thx erst mal.
solange switcher2 char ist gehts nich?
also an der stelle kommt dann access violatio....
ursprünglich ist das ne double gewesen und erechnet ne bitrate.
die wird mit:file2[counter] = ceil(file2[counter]); //counter ist ein zähler in ner while schleife
:gerundet dann wird sie zum string convertiert und in int.
char * switcher = fcvt(file2[counter],0,0,0);
switcher2 = reinterpret_cast<int>(switcher);:wiekann man denn das direkt konvertieren ich konnte sowas wie "ftoi" nicht finden.
-
so alles perfect programm läuft und macht sogar das was es soll.
hab diese schräge konvertierung rausgenommen die if abfragen laufen jetzt auf double basis.
am anfang hat ich da switch die läuft aber nicht mit double.thx xyan
-
Was hat das jetzt alles mit der MFC zu tun.
Verschiebe nach ANSI-C.
Und nichts für ungut aber du solltest dich mal mit den Grundlagen von C beschäftigen.
-
Original erstellt von <Xyan>:
**solange switcher2 char ist gehts nich?
also an der stelle kommt dann access violatio....
**Naja, schau mal nach was ein char max aufnehmen kann
-128 bis +127 und dann guck ma was du versuchst reinzuschreiben!
die float währe da deutlich besser! Wobei eine stinknormale int schon lange ausreichen würde (oder sogar ne short).Die access violation kommt daher, dass du versuchst 10(?)Bit in 8Bit zu quetschen. Der zur ferfügungstehende speicherbereich würde übertreten werden und schwups hast du ne Zugriffsverletzung von Windoof ^^
[ Dieser Beitrag wurde am 01.06.2003 um 11:32 Uhr von THE_FreaK editiert. ]