这时定义等于声明
function_name()
{
int i ; 这既是定义也是声明}

解决方案 »

  1.   

    看看这段文字吧.(《C++编程思想》):
        首先,必须知道“声明”和“定义”之间的区别,因为这两个属于在全书中会被确切地使用。“声明”向计算机介绍名字,他说,“这个名字是什么意思”。而“定义”为这个名字分配存储空间。无论涉及到变量时还是函数时含义都一样。无论那种情况下,编译器都在“定义”出分配存储空间。对于变量,编译器确定这个变量占多少存储空间,并在内存中产生存放他们的空间。对于函数,编译器产生代码,并为之分配存储空间。函数的存储空间中又一个由使用不带参数表或带地址操作符的函数名产生的指针。
        定义也可以是声明。如果该编译器还没有看到过名字A,程序员定义int A,则编译器马上为这个名字分配存储地址。
        ……
        函数声明时,参数名可以给出也可以不给出。而定义时他们是必须的。这在C语言中确实如此,但在C++重病不一定。    明白了吗?
      

  2.   

    同意 virginsoldier(迦庙)
    声明和定义是有区别的:
    比如:
         VC提供的类库和运行库,在头文件里声明了,定义是在dll里。
    而你自己写的函数实现部分叫定义,你如果在定义之前使用就要声明。申明就是调用方式。