Я пытаюсь передать строку в функцию, которая будет отсортирована. Затем иметь отсортированную строку для возврата из нее. Он не скомпилируется и даже говорит, что «binarySort не является членом других».
Это то, что запрещено делать?
Это файл класса
#include "Others.h"
#include <iostream>
using namespace std;
char Others::inputCheck(char guess) {
while (!isalpha(guess)) { //If the inputs are not alphabets, keep looping.
cout << "Enter again: ";
cin >> guess;
}
cin.ignore(1, '\n');
guess = tolower(guess);
return guess;
}
string Others::binarySort(string sampleText) {
//Bubble sorting the string. (Copy pasted)
for (int i = 0; i < sampleText.length(); i++)
{
for (int j = i + 1; j < sampleText.length(); j++)
{
if (sampleText[i] > sampleText[j]) //if previous has bigger ascii value than next,
{
//swapping the prev and next characters
char temp = sampleText[i];
sampleText[i] = sampleText[j];
sampleText[j] = temp;
}
}
}
return sampleText;
}
Это заголовочный файл.
#ifndef OTHERS_HEADER
#define OTHERS_HEADER
#pragma once
class Others
{
public:
char inputCheck(char guess); //Function to check if inputs are alphabets.
string binarySort(string sampleText);
};
#endif
Основная функция.
#include <iostream>
#include "Others.h"
using namespace std;
int main() {
string sortedText, sampleText = "toibeawn";
Others sorter;
sortedText = sorter.binarySort(sampleText);
cout << "Text after sorted:\n";
cout << sortedText;
return 0;
}
Сортировка работает, если она не используется для функции.
Вывод ошибки:
1> Sorting_test. cpp 1> Others. cpp 1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others.h (9, 7): ошибка C2039: «строка»: не является членом «std»
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ предопределенных типов C ++ (внутренний компилятор) (368): сообщение: см. Объявление 'std'
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others.h (9,24): ошибка C3646: ' binarySort ': неизвестный спецификатор переопределения
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others.h (9,24): ошибка C2059: синтаксическая ошибка:' ('1 > C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others.h (9,30): ошибка C2 039: 'string': не является членом 'std'
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ предопределенных типов C ++ (внутренний компилятор) (368): сообщение: см. объявление 'std'
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others.h (9,48): ошибка C2238: неожиданный токен (ы) предшествующий ';'
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others. cpp (16,21): ошибка C2039: «binarySort»: не является член 'Others'
1> C: \ Users \ yap_2 \ source \ repos \ Sorting \ Sorting_test \ Others.h (5): сообщение: см. объявление «Others» 1> Создание кода. .. 1> Закончен строительный проект "Sorting_test.vcxproj" - СБОЙ.