获取此错误 未定义的代码参考:: morsecode() 未定义的Code :: 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;
}
答案 0 :(得分:0)
定义的独立函数vector<string> morsecode()
不是所需的vector<string> Code::morsecode()
。