lørdag, januar 23, 2021

fejl i c++ program :)

Daily Rush Debat Programmering fejl i c++ program :)

  • Forfatter
    Emne
  • #0

    HIM
    Bruger
    268 indlæg
    Offline

    jeg har lige siddet og skrevet et ‘lille’ program(i dev-c++) og når jeg så prøver at kompilere det kommer den med denne fejlmeddelelse:

    assignment to ‘char’ from ‘const char *’ lacks a cast

    hvorfor kommer den? (kan ikke selv finde en fejl i mit program)

    jeg er farlig...BUM !!!!

Viser 11 kommentarer - 1 til 11 (af 11 i alt)
  • Forfatter
    Kommentarer
  • #1

    LightRaven
    Bruger
    78 indlæg
    Offline

    Hvad med du så poster linien som giver fejlen eller hvis det er så lille hele programmet

    Send Penge

    #2

    HIM
    Bruger
    268 indlæg
    Offline

    linien: (bare med andre navne)

    charnavn = “ole”;

    det er der fejlen ligger

    jeg er farlig...BUM !!!!

    #3

    tazz
    Bruger
    284 indlæg
    Offline

    Et cast er når du forsøger at lave en type variabel til en anden type. F.eks. int til char.

    Jeg kan se på error messagen, at du forsøger at gøre en ‘char’ til en ‘const char *’. Det bedste ville nu være at have hele koden :), du kan evt. paste det herinde.

    #4

    Kolben
    Bruger
    18.939 indlæg
    Offline

    charnavn er en char. En char er en variabel, der indeholder netop 1 byte.

    “ole” er en char*, der peger på o’et. En pointer er en mem-adresse og fylder op til mange bytes alt efter hvilken maskine det er.

    Hvis du erklærede charnavn som en char* ville det være bedre.

    P=NP?

    #5

    Breeze
    Bruger
    1.005 indlæg
    Offline

    Relg 1 i kode spørgsmål:

    post linjen, post varibler/constanter etc.. tilknyttet, skriv error/warning beskeden…….

    men ja lær forskel på char* og char[]..

    #6

    LightRaven
    Bruger
    78 indlæg
    Offline

    Coder , der er ikke nogen forskel på char[] og char* et array er en konstant pointer. Hvis han havde sagt char[] var det gået fint.

    Send Penge

    #7

    mbp
    Bruger
    93 indlæg
    Offline

    i C++ bør man ikke bruge character arrays – de er onde. Det er nemt for programmøren at lave buffer overflows og de er generelt besværlige at arbejde med.

    I C++ standard biblioteket findes en ‘string’ klasse, den gør alting meget nemmere, f.eks:

    string foo = “hej”;
    foo += “med”;
    string bar = “dig”;
    foo += bar;

    Prøv at gør det med character arrays i kode der er bare tilnærmelsesvis så læselig.

    Hvis man har gammel kode som stadig skal bruge character arrays – har string klassen en member funktion, c_str() som returnerer en const char * som kan bruges.

    #8

    Fafner
    Bruger
    1.566 indlæg
    Offline

    Der er sgu ingen string klasse i c++. Hvad er det for noget ævl?

    Fafner SoISuckAtStarcraft

    #9

    brwnx
    Bruger
    3.609 indlæg
    Offline

    nuff said…

    Læs det med småt

    #10

    mbp
    Bruger
    93 indlæg
    Offline

    Det er bestemt ikke noget ævl – anskaf dig en kopi af den færdige C++ standard som blev udgivet i 1998, så vil du se at den er nævnt.

    Hvis du samtidig besøger Bjarne Stroustrups (opfinderen af C++) site (http://www.research.att.com/~bs/) vil du finde op til flere referencer til ‘string’ header filen og brug af string class’en.

    Alle nyere compilere har string-klassen. Ellers kan man bruge STLPort (www.stlport.org).

    #11

    HIM
    Bruger
    268 indlæg
    Offline

    haha fafner !!

    jeg er farlig...BUM !!!!

Viser 11 kommentarer - 1 til 11 (af 11 i alt)
  • Du skal være logget ind for at kommentere på dette indlæg.