首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Struct数组,怎么定义好

2012-02-05 
Struct数组,如何定义好?刚刚问了一个Struct全局变量的问题,谢谢Chiyer(星羽)()。可是如果要定义Struct数组,

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不然编译会错。

热点排行