此问题在此处已有答案:
c++ struct does not name a type(1个答案)
6天前关闭。
C++编译器产生错误代码:'color'没有命名类型我包含了问题的所有相关代码。错误消息只与cpp文件中的函数声明一起出现
Card.cpp
#include "Card.h"
Color Card::getColor() {return color;}
Card.h
#ifndef CARD_H
#define CARD_H
#include <string>
#include <iostream>
#include <sstream>
using namespace std;
class Card
{
public:
enum Color{purple, orange};
private:
int rank = 0;
int value = 0;
Color color = purple;
public:
Color getColor();
1条答案
按热度按时间anauzrmj1#
问题不在于你的函数定义是否在头文件或源文件中,而在于它是否在
class Card
内部。如果你试图在头文件内部但在类定义外部定义函数,你会遇到完全相同的问题。解决方案很简单,你必须引用enum Color
作为class Card
的内部类型: