通过typedef定义的类,如何向前声明??
#include <vector>
// 为了让行 1 通过编译,需要在这里向前声明一下 data_array
// 如何向前声明 data_array??
//class data_array; // ??????????????????
struct data
{
// ......
// ......
data_array* p_next_group; // 1
};
typedef std::vector <data> data_array;
[解决办法]
struct data;
typedef std::vector <data> data_array;
struct data
{
...
data_array* p_next_group;
};
[解决办法]
那就不要前置类型声明呗。
tyedef的东西是不可以前置类型声明的,因为它不是类型,是类型的别名。