【发布时间】:2015-05-03 15:21:06
【问题描述】:
我试图编写如下代码:
头文件中:test.h
#define size_aspid 8
const char replace_aspid[20];
void print_max_length();
在 test.c 文件中:
const char replace_aspid[] = "replace_aspidiii";
int max_size = size_aspid+strlen(replace_aspid);
void print_max_lenght()
{
printf("Max length is: %d\n",max_size);
}
在 main.c 文件中:
int main()
{
print_max_length();
return 0;
}
然后编译器会说:
warning: initializer element is not a constant expression
#define size_aspid 8
note: in expansion of macro ‘size_aspid’
int max_size = size_aspid+strlen(replace_aspid);
我哪里出错了。谢谢!!!!!!!!!!!!!
【问题讨论】: