Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #109484
| From | jak <please@nospam.tnx> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: error: initializer element is not constant| |
| Date | 2017-05-08 12:18 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <oepglk$1vlt$1@gioia.aioe.org> (permalink) |
| References | <oep88j$1h14$1@gioia.aioe.org> <oepakk$jif$1@dont-email.me> <oepfak$1t91$1@gioia.aioe.org> <gmXPA.1653357$Pm3.1121619@fx42.am4> |
Il 08/05/2017 12:01, bartc ha scritto:
> On 08/05/2017 10:55, jak wrote:
>> Il 08/05/2017 10:38, Noob ha scritto:
>>> On 08/05/2017 09:55, jak wrote:
>>>
>>>> Is there any way, in standard C, to write something like this without
>>>> getting an error?
>>>>
>>>> static char *Date = "2017-05-08";
>>>>
>>>> static char *Phrase[] =
>>>> {
>>>> "Date: ",
>>>> Date,
>>>> "\r\n"
>>>> };
>>>
>>> Define 'Date' as an array.
>>>
>>> static const char Date[] = "2017-05-08";
>>>
>>> On an unrelated subject, have a look at the __DATE__ macro.
>>> Obviously, embedding time-related strings in a program makes
>>> builds non-deterministic (compiling the same source on different
>>> days will produce different binaries).
>>>
>>> Regards.
>>>
>>
>> Thank you for your answer and I take this opportunity to ask another
>> question:
>>
>> char *Date = "01-01-80";
>>
>> typedef char * ch;
>>
>> ch foo;
>> foo = "01-01-80"; <-- this line
>>
>> warning: data definition has no type or storage class
>> warning: type defaults to 'int' in declaration of 'foo'-Wimplicit-int
>> error: conflicting types for 'foo'
>> warning: initialization makes integer from pointer without a cast
>>
>> What am I not understanding?
>> thanks in advance
>>
>
> Have you put those lines inside a function? Try:
>
> int main (void) {
>
> ch foo;
>
> foo = "01-01-80";
> }
>
> Otherwise, the assignment to foo probably looks like a new declaration
> of something called 'foo', which is assumed to be an 'int' type. In C,
> declaring the type of a variable is optional, so the compiler thought it
> was this:
>
> ch foo;
> int foo = "01-01-80";
>
> (Pretty stupid of the language to allow that, but no compiler has wanted
> to be the first to ban it outright, it case some ancient code no longer
> works.)
>
Thanks a lot for responding but the 'very stupid' is me, because I did
the copy/paste the wrong lines :(
I would like to create an array of pointers, of pointers to strings. In
this way I can have the pointers as constant and I wrote this:
char *Date = "01-01-80";
typedef char * ch;
typedef ch * p_ch;
p_ch foo[] =
{
&Date,
(p_ch)&"Date"
};
This works but I do not know how to declare foo without using typedef.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-08 09:55 +0200
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-08 10:05 +0200
Re: error: initializer element is not constant| Noob <root@127.0.0.1> - 2017-05-08 10:38 +0200
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-08 11:55 +0200
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-08 11:01 +0100
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-08 12:18 +0200
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-08 12:02 +0100
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-08 09:00 -0700
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-08 17:50 +0100
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-08 11:37 -0700
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-08 19:49 +0100
Re: error: initializer element is not constant| Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-08 20:13 +0100
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-08 12:44 -0700
Re: error: initializer element is not constant| scott@slp53.sl.home (Scott Lurndal) - 2017-05-08 20:24 +0000
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-09 09:54 +0200
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-09 10:15 +0200
Re: error: initializer element is not constant| GOTHIER Nathan <nathan.gothier@gmail.com> - 2017-05-09 12:12 +0200
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-09 11:47 +0100
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-09 19:06 +0200
Re: error: initializer element is not constant| scott@slp53.sl.home (Scott Lurndal) - 2017-05-09 17:10 +0000
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-09 19:20 +0200
Re: error: initializer element is not constant| Barry Schwarz <schwarzb@dqel.com> - 2017-05-09 10:35 -0700
Re: error: initializer element is not constant| jak <please@nospam.tnx> - 2017-05-09 20:04 +0200
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-09 11:57 -0700
Re: error: initializer element is not constant| supercat@casperkitty.com - 2017-05-09 12:50 -0700
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-09 12:54 -0700
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-09 20:15 +0100
Re: error: initializer element is not constant| "James R. Kuyper" <jameskuyper@verizon.net> - 2017-05-09 14:13 -0400
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-09 11:41 -0700
Re: error: initializer element is not constant| Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-09 12:16 +0100
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-09 08:11 -0700
Re: error: initializer element is not constant| Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-08 12:12 +0100
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-08 13:45 +0100
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-08 09:04 -0700
Re: error: initializer element is not constant| Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-08 19:53 +0100
Re: error: initializer element is not constant| bartc <bc@freeuk.com> - 2017-05-08 20:44 +0100
Re: error: initializer element is not constant| Noob <root@127.0.0.1> - 2017-05-09 09:27 +0200
Re: error: initializer element is not constant| Tim Rentsch <txr@alumni.caltech.edu> - 2017-05-09 07:10 -0700
Re: error: initializer element is not constant| Keith Thompson <kst-u@mib.org> - 2017-05-08 09:30 -0700
Re: error: initializer element is not constant| John Bode <jfbode1029@gmail.com> - 2017-05-08 08:05 -0700
csiph-web