#ifndef YGO_DATA_CARDDATA_H
#define YGO_DATA_CARDDATA_H

#include <string>

#include "CardType.h"

namespace ygo
{
namespace data
{

struct StaticCardData
{
    const char* name;
    CardType cardType;
    // monster only
    Attribute attribute;
    MonsterType monsterType;
    Type type;
    MonsterType monsterAbility;
    int level;
    int attack;
    int defense;
    int lpendulum;
    int rpendulum;
    // spell and trap only
    SpellType spellType;
    TrapType trapType;
};

}
}

#endif

#ifndef YGO_DATA_CARDDATA_H
#define YGO_DATA_CARDDATA_H

#include <string>

#include "CardType.h"

namespace ygo
{
namespace data
{

struct StaticCardData
{
    std::string name;
    CardType cardType;
    // monster only
    Attribute attribute;
    MonsterType monsterType;
    Type type;
    MonsterType monsterAbility;
    int level;
    int attack;
    int defense;
    int lpendulum;
    int rpendulum;
    // spell and trap only
    SpellType spellType;
    TrapType trapType;
};

}
}

#endif

--- 
+++ 
@@ -12,7 +12,7 @@
 
 struct StaticCardData
 {
-    std::string name;
+    const char* name;
     CardType cardType;
     // monster only
     Attribute attribute;
Change name to const char *

Allow for trivially constructable type
