|
| 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
>
>
| |
|
|