C ++试图告诉函数要使用哪个2D数组。

时间:2018-07-04 01:09:49

标签: c++ arrays

我是一名Java专家,正在尝试为我拥有的Arduino项目用C ++编写一些东西。我所得到的是一个LED灯矩阵,我正在尝试在上面写字。我为每个字符设置了一个2D数组,现在尝试创建一个函数,该函数将在给定位置在LED板上绘制适当的字符。

例如,我已经定义了

theme.settings.Height

然后,理想情况下,我想有一个函数,它接受单个字符输入以及应将字符放置在灯光阵列中的x,y位置。

但是,我找不到一种方法来选择正确的2D数组。我尝试了if语句,其中

boolean y[8][5]={
{1,0,0,0,1},
{0,1,0,1,0},
{0,1,0,1,0},
{0,0,1,0,0},
{0,0,1,0,0},
{0,0,1,0,0},
{0,0,1,0,0},
{0,0,1,0,0}};

但是当我真正想要使用charMap时,它说它还没有被创建...甚至带有保证其创建的catchall else语句。

关于如何获取功能以根据输入字符识别需要使用哪个2D数组的任何想法?

1 个答案:

答案 0 :(得分:-3)

您可以这样做

bool letters[24][8][5];
//24 for 24 letters

然后访问您只需要的每个字母

int letter_index = (int)charIn - 97;
int charMap[8][5] = letters[letter_index];

对于大写字母,您可以这样做

int letter_index = (int)charIn - 65;
int charMap[8][5] = letters[letter_index];

ofc,您必须确定输入是否为字母,否则将使您超出范围。