C 对CODE :: morsecode()的不确定引用和对Code :: AlphaCode()的未定义引用

c++ Undefined Reference to Code::morsecode() and Undefined Reference to Code::alphacode()

本文关键字:引用 Code AlphaCode 未定义 morsecode CODE 不确定      更新时间:2023-10-16

获取此错误对代码:: morsecode()的未定义引用对代码的未定义引用:: alphaCode()Collect2:错误:LD返回1退出状态

我使用c morsecode.cpp编译。我无法弄清楚问题是什么?尝试查看我的代码以查看问题所在的位置,但我无法弄清楚问题是什么。任何帮助都将受到赞赏。谢谢

#include <string>
#include <vector>
#include <iostream>
using namespace std;
class Code
{
public:
Code();         //Default Constructor
string decode(vector<string> message);  //Decodes message
private:
vector<string> codewords;   //codeword vector parallel to A-Z
vector<char> alpha;     //this is the vector for A-Z    
vector<char> alphacode();   //Function that builds the vector alpha -A B C...
vector<string> morsecode(); //function builds the vector codewords containing                         morsecode
char decode(string c);      //returns the character for the codeword c.
};
Code::Code()
{
codewords = morsecode();
alpha = alphacode();
}
string Code::decode(vector<string> message)
{
string temp;
for(int i = 0; i < message.size(); i++)
{
  temp += decode(message[i]);
}   
return temp;
}
char Code::decode(string c)
{
for(int i = 0; i < alpha.size(); i++)
{
  if(c == codewords[i])
  {
    return alpha[i];
  }
}
}

// This function returns a vector containing the morse code
vector<string> morsecode()
{ 
 vector<string> temp(28);
 temp[0] =".-";
 temp[1] ="-...";
 temp[2] ="-.-.";
 temp[3] ="-..";
 temp[4] =".";
 temp[5] ="..-.";
 temp[6] ="--.";
 temp[7] ="....";
 temp[8] ="..";
 temp[9] =".---";
 temp[10] ="-.-";
 temp[11] =".-..";
 temp[12] ="--";
 temp[13] ="-.";
 temp[14] ="---";
 temp[15] =".--.";
 temp[16] ="--.--";
 temp[17] =".-.";
 temp[18] ="...";
 temp[19] ="-";
 temp[20] ="..-";
 temp[21] ="...-";
 temp[22] =".--";
 temp[23] ="-..-";
 temp[24] ="-.--";
 temp[25] ="--..";
 temp[26] =".......";
 temp[27] ="x";
 return temp;
}
// This returns a vector containing the alphabet a-z and " "
vector<char> alphacode()
{
 vector<char> temp;
 for (char c='A'; c<='Z'; c++)
  temp.push_back(c);
  temp.push_back(' ');
  temp.push_back('.');
 return temp;
}
//Main Program
int main()
{
vector<string> message;
string temp;
Code c;
cin >> temp;
while (cin.good())
{
  message.push_back(temp);
  cin >> temp;
}
cout << c.decode(message) << endl;
return 0;
}

定义的独立函数 vector<string> morsecode()不是所需的 vector<string> Code::morsecode()