两个不同的标题GCC,Visual Studio 2012
two class different header, gcc, visual studio 2012
当两个类在不同的文件中时,编译器为什么要给我Card deck[5]
的错误,但是如果我将它们放入同一文件中,则编译器批准?
我确实将" .h"包含在两个文件中。
标题1
class Card
{
private:
char* card_name;
int card_value;
Color card_color;
public:
Card();
void set_card(char * buffer , Card& c);
Card get_card(int index,Card deck[]);
int get_card_value();
void print_card();
~Card();
};
标题2
class Player
{
private:
friend class Card;
char* name;
char* id;
int wins;
int losses;
int remains_move;
struct Coordinate cord;
Card deck[MAX_CARDS];
public:
Player();
int Player_Array_Size(char* Creation,const int MAX_PLAYERS);
void Player_Creation_File(char* Creation);
void Player_Simulation_File(char* Simulation,int Array_Size);
void set_player();
Player* get_player();
void print_player();
void move_to_point(int x ,int y);
void attack_using_card(int Attacker ,int Defender,int Attack_card);
void win_match();
void lose_match();
~Player();
您可能有4个文件,card.h,card.cpp,player.h and player.cpp。在player.h中:
#include "card.h"
class Player { ... };
在player.cpp中:
#include "player.h"
...
在card.h中:
class Player; // Forward declaration
class Card { ... };
在card.cpp中:
#include "card.h"
#include "player.h"
...
就是这样。
相关文章:
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 奇怪的结构&GCC&clang(void*返回类型)
- GCC本机矩阵运算库
- PowerPC ppc64le上的Gcc Woverloaded虚拟错误
- gcc和c++17的过载解析失败
- 数据成员SFINAE的C++17测试:gcc vs clang
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- GCC对可能有效的代码抛出init list生存期警告
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 使用gcc从静态链接的文件中查找可选符号
- 普通环路未使用gcc 4.8.5自动矢量化
- 有了gcc,是否可以链接库,但前提是它存在
- 在clang++预处理器中确定gcc工具链版本
- 为什么 gcc 编译这个而 msvc 没有
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 两个不同的标题GCC,Visual Studio 2012
- 是否有用于打印源文件直接包含的标题的 GCC 选项
- 如何让 clang 搜索 gcc 的标题?