读书人

Struct数组怎么定义好

发布时间: 2012-02-05 12:07:15 作者: rapoo

Struct数组,如何定义好?
刚刚问了一个Struct全局变量的问题,谢谢Chiyer(星羽) ( )。

可是如果要定义Struct数组,就会出现问题。不知怎样处理。

//Params.h
#include <string>

namespace MyParams
{
struct Param1
{
int P00;
int P01;
int P02;
std::string P03;
std::string P04;
};

};

//Params.cpp

namespace MyParams
{
Param1 Param1_Data[10]; //定义数组。
};


// app.cpp

#include "Params.h "

using Namespace MyParams;

extern Param1 Param1_Data[10]; //外部引用数组。

void main()
{
ShowMessage( Param1_Data[0].P00 );

}
编译出现连接错误:
[Linker Error] Unresolved external '_Param1_Data ' referenced from MAIN.OBJ

//!!!!!!!

[解决办法]
还有就是你的数组不应该在Params.h中声明
应该声明在另外一个头文件中而不包含他
这样extern就有意义了
[解决办法]
我的文件:
1.h:
#include <string>
using namespace std;
namespace MyParams
{
typedef struct Param1
{
int P00;
int P01;
int P02;
string P03;
string P04;
} Param1_Data;
};

2.h:
#include "1.h "
using namespace MyParams;

Param1_Data m;
Param1_Data My_Data[10] = {m,m,m,m,m,m,m,m,m,m};

1.cpp:
#include <iostream>
#include "1.h "
using namespace std;
using namespace MyParams;

extern Param1_Data My_Data[10];


void main()
{
cout < <My_Data[0].P00 < <endl;
return;
}

2.cpp:
#include "2.h "

一定要有2.cpp不然编译会错。

读书人网 >C++

热点推荐