[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kdevelop
Subject:    Re: compilation problem
From:       "W. Tasin" <tasin () fhm ! edu>
Date:       2001-05-03 11:33:09
[Download RAW message or body]

Hi,

my 2 euros:

char *s: means you can change the value of s and the content where s 
points to.

const char *s: means you can change s but not the values where s points 
to, reading it like (const char) *s ... so a pointer s, which refers to 
a const char object. So the statement "s++" is allowed.


char const *s: you can change the content where s points to, but not the 
value of the the pointer (that's why you don't see this much).


Now what you are trying to do is to assign a pointer txt to a pointer s,
so the content, where txt points to would be accessible by the trick 
using s;
Formerly the c++ - compilers gave you only a warning, now its cleaner (I 
mean now you have to declare explicitly the this pointer s doesn't point 
to "const chars" anymore.)

But I guess you don't want to change the contents of txt.
So why don't you do the following?

void test(const char *txt)
{
   const char *s;

   s=txt;
   while (strlen(s)>0)
   {
     ....
     s++;
   }
}

This means you are assigning the value of txt, which points to 
non-modifyable chars to another pointer which also cannot modify chars.
So you are on the clean side.


Of course you can only pass this pointer to functions which accept 
"const char *", like

strlen(const char *s)


Ciao

Walter

Eric KLUMPP wrote:

> Hello,
> 
> I am new on this list. I am french and I develop with kdevelop since 3 years.
> 
> I just have installed the Mandrake 8.0 that install kdevelop 1.4.1, and now I have \
> the compilation error :

> "cannot convert "const char *" to "char *" in assignment"

> What I do is something like this :
> <	void test(const char *txt)
> 	{
> 		char *s;
> 
> 		s=txt;
> 		while (strlen(s)>0)
> 		{
> 			....
> 			s++;
> 		}
> 	}
> 
> 
> I had the same problem when I tried the Redhat 7.0 but not with the Mandrake 7.2. I \
> think the problem comes from the version of gcc (2.96), but before trying to change \
> to an older version, I prefer to have the confirmation.  
> If someone has a solution....
> Thanks
> 
> Eric
> 
> 
> -
> to unsubscribe from this list send an email to kdevelop-request@kdevelop.org with \
> the following body: unsubscribe »your-email-address«



-- 
-- 
oohhh sveglia.... il mondo e' ammalato, ma x colpa di chi.........
(Zucchero)
> -------W. Tasin, FB 04,
FHM-------------------PGP-KeyID:0x7961A645----------:
<Key-Fingerprint: 1610 835F 0080 32F4 6140  6CF7 A7D0 44CD 7961A645>
<http://wwwkeys.pgp.net:11371/pks/lookup?op=index&search=0x7961A645&fingerprint=on>


-
to unsubscribe from this list send an email to kdevelop-request@kdevelop.org with the \
following body: unsubscribe »your-email-address«


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic