use of const keyword

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

use of const keyword

bostjanv
Hello,
I am verifying a simple fact concerning the use of the const keyword.

I wrote the following simple program


============================

const int a=10;
const int b=a;

int main(int argc, char *argv[]) {
}
============================

I tried it out with gcc, version 4.7.2 on Debian 7, and the result was the following:

============================
bostjan@wwpecker-5-deb:~/workspace/OB2/src$ cc   -c -o test.o test.c
test.c:3:1: error: initializer element is not constant
b
============================

QUESTION: Is there a way to initialize a const to the value of another const?
Regards,
bostjanv
Reply | Threaded
Open this post in threaded view
|

Re: use of const keyword

Yu Sheng Oh
const int is not a constant in c, although it is in c++.
to initialize a const int, you have to use literal values.

On Sun, Dec 7, 2014 at 10:43 PM, bostjanv <[hidden email]> wrote:

> Hello,
> I am verifying a simple fact concerning the use of the const keyword.
>
> I wrote the following simple program
>
>
> ============================
>
> const int a=10;
> const int b=a;
>
> int main(int argc, char *argv[]) {
> }
> ============================
>
> I tried it out with gcc, version 4.7.2 on Debian 7, and the result was the
> following:
>
> ============================
> bostjan@wwpecker-5-deb:~/workspace/OB2/src$ cc   -c -o test.o test.c
> test.c:3:1: error: initializer element is not constant
> b
> ============================
>
> QUESTION: Is there a way to initialize a const to the value of another
> const?
> Regards,
> bostjanv
>
>
>
> --
> View this message in context: http://gcc.1065356.n5.nabble.com/use-of-const-keyword-tp1098889.html
> Sent from the gcc - Help mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|

Re: use of const keyword

Yu Sheng Oh
Please refer http://stackoverflow.com/questions/3025050/error-initializer-element-is-not-constant-when-trying-to-initialize-variable-w

"All the expressions in an initializer for an object that has static
storage duration shall be constant expressions or string literals."

On Sun, Dec 7, 2014 at 10:50 PM, Yu Sheng Oh <[hidden email]> wrote:

> const int is not a constant in c, although it is in c++.
> to initialize a const int, you have to use literal values.
>
> On Sun, Dec 7, 2014 at 10:43 PM, bostjanv <[hidden email]> wrote:
>> Hello,
>> I am verifying a simple fact concerning the use of the const keyword.
>>
>> I wrote the following simple program
>>
>>
>> ============================
>>
>> const int a=10;
>> const int b=a;
>>
>> int main(int argc, char *argv[]) {
>> }
>> ============================
>>
>> I tried it out with gcc, version 4.7.2 on Debian 7, and the result was the
>> following:
>>
>> ============================
>> bostjan@wwpecker-5-deb:~/workspace/OB2/src$ cc   -c -o test.o test.c
>> test.c:3:1: error: initializer element is not constant
>> b
>> ============================
>>
>> QUESTION: Is there a way to initialize a const to the value of another
>> const?
>> Regards,
>> bostjanv
>>
>>
>>
>> --
>> View this message in context: http://gcc.1065356.n5.nabble.com/use-of-const-keyword-tp1098889.html
>> Sent from the gcc - Help mailing list archive at Nabble.com.