آقایون چرا تابع این جور نوشته میشه مشکلی نداره :

کد:
#include "stdafx.h"
#include <iostream>




int Add(int num1, int num2)
{
	int addnum;
	addnum = num1 + num2;
	return addnum;
}


int _tmain(int argc, _TCHAR* argv[])
{
	int a=2;
	int b=3;
	int c=Add(a,b);


	std::cout << "c= "<<c<<std::endl;
	return 0;
}
اما وقتی تابع Add را بعد از تابع اصلی بخایم بنویسیم ، باید پیش اعلان کنیم تابع Add رو ؟ (نوع مقادیرشو مشخص کنیم)
ینی این جوری مشکل داره چرا؟ :
کد:
#include "stdafx.h"
#include <iostream>






int _tmain(int argc, _TCHAR* argv[])
{
	int a=2;
	int b=3;
	int c=Add(a,b);


	std::cout << "c= "<<c<<std::endl;
	return 0;
}




int Add(int num1, int num2)
{
	int addnum;
	addnum = num1 + num2;
	return addnum;
}
تا اینکه این جوری پیش اعلان کنیم :

کد:
#include "stdafx.h"
#include <iostream>


int Add(int, int);


int _tmain(int argc, _TCHAR* argv[])
{
	int a=2;
	int b=3;
	int c=Add(a,b);


	std::cout << "c= "<<c<<std::endl;
	return 0;
}




int Add(int num1, int num2)
{
	int addnum;
	addnum = num1 + num2;
	return addnum;
}