const char * const array[3]={"apple","mango","banana"};
答案 0 :(得分:1)
您尚未发布显示段错误的代码,因此很难对可能导致错误的内容进行全面分析。但是,您访问的内容很可能超出了存储单词的数组范围,从而导致分段错误。
至于解决方案,为什么不使用STL容器? std::vector
的某些内容可以正常工作:
//Container that stores words
std::vector<std::string> MorseWords;
//To add a word
MorseWords.push_back("apple");
//To access a letter within a word
char letter = MorseWords[WordPosition][LetterPosition];
以下示例使用上述原则:
std::vector<std::string> MorseWords;
MorseWords.push_back("apple");
MorseWords.push_back("banana");
MorseWords.push_back("carrot");
std::cout << MorseWords[1][0]; //Prints the 'b' of banana