char* Text[16] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N"};
struct Test{
     byte TextID;
} Test;

void TextOverrider(char* Text){
     Test.TextID < 14 ? Test.TextID++ : Test.TextID = 0;
     Text[Test.TextID] = { Text };
}

而在我的主要
void main(){
     printf("%s\n\n", Text[0]);
     TextOverrider("Hello");
     TextOverrider("Whats");
     TextOverrider("Up");
     TextOverrider("Dude");
     TextOverrider("Playing");
     TextOverrider("Xbox");
     TextOverrider("Lol");
     TextOverrider("XD");
     TextOverrider("5EVR");
     TextOverrider("Anyonmoose");
     TextOverrider("Hoora");
}

我的骑手文字中的Text[Test.TextID] = { Text };出现错误。我不确定如何解决它,我尝试了一切。

最佳答案

您有16个指针的数组。这是不寻常的(在C++中,您可能想使用std::string),但不是导致问题的直接原因。然后,您尝试voodoo:传递一个也称为Text的函数参数,并期望编译器猜测这两个Text中的哪个。不起作用,该参数隐藏了全局变量。重命名函数参数。

07-26 06:47