
补充:
在C和C++程序中,变量及方法的声明和调用是有顺序的。如果你在声明一个变量之前就已经使用了这个变量,就会出现未申明的标识符错误。
所以你的程序正常在声明、包含和调用的顺序应该是这样的。
generalh文件,声明结构体TT
#pragma once
/
这里不需要#include "h1h"
/
#include <iostream>
struct TT
{
int a;
int b;
};
h1h声明print方法,使用了结构体TT,需要#include "generalh",因为这个文件里包含了对TT的声明
#include "generalh"
using namespace std;
void print(TT t)
{
cout << "print" << ta << " " << tb << endl;
}
main部分
/
这里不是#include "generalh",而是#include "h1h",因为h1h中即包含了print方法的声明,同时也#include "generalh"包含了对TT结构体的声明
/
#include "h1h"
using namespace std;
int main()
{
TT t;
ta = 1;
tb = 3;
print1(t);
print2(t);
system("PAUSE");
return 0;
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)