LNK后总会跟着LNK1169;
在头文件中对静态变量声明在单个cpp文件中使用是没有问题的,但是对于多个cpp文件就会报错LNK2005.原因其实就是在头文件中被定义了。
因为多创建了个cpp,一开始以为是没有#ifndef,但是它和#pragma once在作用上是一样的,只是针对同一份文件不被包含两次。
解决办法就是把变量定义在cpp中,声明全局变量不能像上面的“int aa”,它也相当于被定义,需要加上extern;
所以头文件用来声明,cpp用来定义可以避免这样的问题
LNK后总会跟着LNK1169;
在头文件中对静态变量声明在单个cpp文件中使用是没有问题的,但是对于多个cpp文件就会报错LNK2005.原因其实就是在头文件中被定义了。
因为多创建了个cpp,一开始以为是没有#ifndef,但是它和#pragma once在作用上是一样的,只是针对同一份文件不被包含两次。
解决办法就是把变量定义在cpp中,声明全局变量不能像上面的“int aa”,它也相当于被定义,需要加上extern;
所以头文件用来声明,cpp用来定义可以避免这样的问题