本人本人新建了一个 xx.h 文件 和一个 xx.cpp 文件 在里面声明了一个结构体
在 xx.h 声明的结构体
代码
struct People
{
int high;
int age;
};
让后本人想在xx.h 或 xx.cpp 声明一个结构体的变量
代码
People TT;
作用是在工程的cpp内可以直接调用结构体变量 不需要调用时先声明结构体变量
该怎么做到呢 这样定义一直提示重定义 本人又不想在工程的cpp内声明结构体变量
vs版本2013
在 xx.h 声明的结构体
代码
struct People
{
int high;
int age;
};
让后本人想在xx.h 或 xx.cpp 声明一个结构体的变量
代码
People TT;
作用是在工程的cpp内可以直接调用结构体变量 不需要调用时先声明结构体变量
该怎么做到呢 这样定义一直提示重定义 本人又不想在工程的cpp内声明结构体变量
vs版本2013
解决方案
40
外部变量,不可以直接在头文件定义
假如有多个.cpp 要包含他的话
但可以有声明
加个extern 就可以了
当然,这样必须有一个.cpp 定义它。
假如有多个.cpp 要包含他的话
但可以有声明
加个extern 就可以了
当然,这样必须有一个.cpp 定义它。
20
在头文件中定义变量不是好习惯,最好是把声明放到一个头文件,然后哪个cpp用到它了就包含这个头文件,然后再在一个源文件(一般是头文件的同名文件)中定义这个变量