/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Underlig fejl
Fra : Jesper Sørensen


Dato : 06-02-01 01:01

"run.cpp", line 19: Error: Formal argument 2 of type char*const* in call to
execv(const char*, char*const*) is being passed const char**.

hvad f***** er en char*const*

mvh
JS



 
 
Jesper Sørensen (06-02-2001)
Kommentar
Fra : Jesper Sørensen


Dato : 06-02-01 01:25

Jeg har dog fundet ud af det jeg gik bare ud fra at const char** var det
samme som char* const*, det er det ikke.
"Jesper Sørensen" <m_burns@XXXkampsax.dtu.dkXXX> wrote in message
news:95nepu$tab$1@eising.k-net.dk...
> "run.cpp", line 19: Error: Formal argument 2 of type char*const* in call
to
> execv(const char*, char*const*) is being passed const char**.
>
> hvad f***** er en char*const*
>
> mvh
> JS
>
>



Christian Worm Morte~ (06-02-2001)
Kommentar
Fra : Christian Worm Morte~


Dato : 06-02-01 10:15

Hej,

> "run.cpp", line 19: Error: Formal argument 2 of type char*const* in call
to
> execv(const char*, char*const*) is being passed const char**.
>
> hvad f***** er en char*const*

Jeg kan ikke huske den skumle syntax, men problemet er, at når en peger A
peger til en peger B, så kan såvel det som B peger på som det A peger på
(nemlig B) være konstant=må ikke ændres på.

Om execv så har den rigtige type er en anden sag... (det er sk*de irrterende
når man forsøger at opbygge sine typer helt rigtigt med const for så at løbe
ind i at standardfunktionerne ikke har de typer man havde forventtet...)


Venlig Hilsen

Christian Worm



Claus Brinch Jensen (06-02-2001)
Kommentar
Fra : Claus Brinch Jensen


Dato : 06-02-01 22:18

Et hjælp til læsning af typer af den slags er at læse bagfra.

Dermed bliver
char * const *
til
* const * char, dvs. en pointer(*) til en const pointer(*) til char.

Af bl.a. af denne årsag bruger jeg konsekvent omvendt const-stilling, dvs.
"char const *" fremfor "const char *". Men det er en anden historie.

Claus


"Christian Worm Mortensen" <worm@dkik.dk> wrote in message
news:CgPf6.17261$zw.363107@twister.sunsite.dk...
> Hej,
>
> > "run.cpp", line 19: Error: Formal argument 2 of type char*const* in call
> to
> > execv(const char*, char*const*) is being passed const char**.
> >
> > hvad f***** er en char*const*
>
> Jeg kan ikke huske den skumle syntax, men problemet er, at når en peger A
> peger til en peger B, så kan såvel det som B peger på som det A peger på
> (nemlig B) være konstant=må ikke ændres på.
>
> Om execv så har den rigtige type er en anden sag... (det er sk*de
irrterende
> når man forsøger at opbygge sine typer helt rigtigt med const for så at
løbe
> ind i at standardfunktionerne ikke har de typer man havde forventtet...)
>
>
> Venlig Hilsen
>
> Christian Worm
>
>



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste