黑马程序员技术交流社区

标题: 改错题!! [打印本页]

作者: 简约无处不在    时间: 2016-5-12 00:58
标题: 改错题!!
void test();

int main()
{
    struct Date  
    {
        int year;
        int month;
        int day;
    };

    test();
    return 0;
}

void test()
{
    struct Date date = {2011, 9, 10};
}


看了半天没看出来那里错了
谢谢大牛!


作者: 烛风小糊涂    时间: 2016-5-12 03:16
test里面的struct Date是有问题的。因为struct Date这个结构体类型是在main函数里面定义的,所以只能在main函数里面使用,而test函数中的struct Date没有被正确定义,所以用不了。

话说放到编译器中编译一下不一眼就能看出来了么-。-
作者: 寂静夜凄凉    时间: 2016-5-12 21:59
把scruct Date 的结构体拉到test函数的声明上边去。作用域的问题。
作者: TGII    时间: 2016-5-12 23:48
结构体类型与基本类型差不多,你可以理解为在函数内,只能本函数能够使用
作者: john6g    时间: 2016-5-12 23:49
要多思考  举一反三  
作者: Cathy    时间: 2016-5-13 21:22
今天刚看到这里....




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2