在构造函数'Player :: Player()'中:错误:从'const char *'到'char'的无效转换

时间:2014-03-22 00:58:22

标签: c++ pointers char const

我的Blackjack默认构造函数中有这一行。

m_players[0].SetPlayerName("Jane");

这使用我的Player类中的setter将玩家的名字设置为Jane。

我的播放器构造函数就是这个。

Player::Player()
{
  Player player;
  player.m_funds = 0;
  player.m_name = "";
  player.m_bet = 0;
  player.m_busted = false;
}

而且,有关更多信息,我的SetPlayerName方法就是这个。

void Player::SetPlayerName(char name)
{
  m_name = name;
}

如何解决此转化错误?我只是想将玩家的名字设置为char。谢谢!

我正在尝试使用一个播放器Jane设置默认构造函数。

1 个答案:

答案 0 :(得分:1)

字符串文字(类似"Foobar"的类型为const char[N],其中N是字符数+ 1(对于空终止符),表示N的数组char

您的变量m_name似乎是char类型,这是一个字符。

无法将const char[N]的数组转换为char。您真正想要的是m_name类型std::string或可能const char*

为什么const char*const char[N]衰减到const char*并且可以指向任意大小的文字。