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");
}
我在 rider 的文本中的 Text[Test.TextID] = { Text };
处收到错误。我不确定如何修复它,我尝试了一切。
最佳答案
您有一个包含 16 个指针的数组。这是不寻常的(在 C++ 中,您可能想要使用 std::string
),但不是问题的直接原因。然后您尝试巫术:您传递一个名为Text
的函数参数也,并期望编译器猜测您指的是两个Text
中的哪一个。不起作用,该参数隐藏了全局。重命名函数参数。
关于C++ 为什么我的文本数组在我用另一个覆盖它后不会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017919/