CharConverter未知错误

时间:2017-11-13 00:12:04

标签: c++ modularization

我在这里创建一个程序是规范:

  

创建一个CharConverter类,对字符串执行各种操作。它应该具有以下两个公共成员函数。

     

大写成员函数接受一个字符串并返回它的副本,所有小写字母都转换为大写。如果一个角色已经是大写字母或者不是一个字母,那么它应该是单独的。

     

properWords成员函数接受由空格分隔的单词串,并返回它的副本,每个单词的第一个字母转换为大写。

     

编写一个使用该类的简单程序。它应该提示用户输入一个字符串。然后它应该调用properWords函数并显示这个结果字符串。最后,它应该调用大写函数并显示这个结果字符串。

我编写的程序没有模块化,以确保我把一切都正确。现在,我正在尝试模块化我遇到错误,我不知道它们的意思,编译时:

errors

这是我的代码:

#include<iostream>
#include<string>
#include<vector>
#include<ctype.h>

using namespace std;

class CharConverter {

public:
void uppercase(string, int);
void properWords(string, int);

};

void CharConverter::uppercase(string myString, int s) {

s = myString.length();

for (int i = 0; i <= s; i++) {

    myString[i] = toupper(myString[i]);

}

cout << myString << endl;

}

void CharConverter::properWords(string myString, int s) {

for (int i = 0; i <= s; i++) {
    myString[i];

    myString[0] = toupper(myString[0]);

    if (myString[i] == ' ') {
        myString[i + 1] = toupper(myString[i + 1]);
    }
}

cout << myString << endl;
}


int main() {

void properWords(string, int);
void uppercase(string, int);


string sentence;
int size;

cout << "Enter a sentence you want converted to all uppercase letters and 
set up with proper uppercase letters." << endl;
getline(cin, sentence);

size = sentence.length();

properWords(sentence, size);

uppercase(sentence, size);

return 0;
}

1 个答案:

答案 0 :(得分:1)

在主要的开头

const arr = [[1,3],[2,5],[1,3],[2,5]];

const setArray = new Set(arr.map(x => JSON.stringify(x)))

const uniqArray = [...setArray].map(x => JSON.parse(x))

console.log(uniqArray)

您声明了两个其他函数,而不是int main() { void properWords(string, int); void uppercase(string, int); 的一部分。然后你调用那些函数,而不是你之前定义的函数。

因此编译器(实际上是链接器)抱怨它无法找到这些非成员函数。这是事实,他们不存在。

现在您必须决定是否需要课程。在这种情况下,创建一个类对象并调用成员函数。或者跳过类声明并使函数自由函数。