Помощь в понимании ошибок?
Я получаю несколько ошибок, которые сбивают меня с толку. Я пробовал менять переменные, но это не помогло. Я буду публиковать свой код и ошибки. Любая помощь приветствуется. Я знаю, что мой код совсем не велик. Честно говоря, я совсем не силен в программировании.
Извиняюсь.
<pre>/* Program: prog6.cpp By: Mackenzie Ritter Last Modified: Dec 3, 2017 Purpose: To provide a rating for each elf based on their toy production and output all information. Notes: */ #include <fstream> #include <iostream> #include <string> #include <sstream> #include <iomanip> using namespace std ; string* elfRating (int, int[], string[]) ; int main () { int SIZE = 50 ; string *names [SIZE] ; // Elf's name int numToys [SIZE] ; // Number of toys made by each elf string *rating [SIZE] ; // Rating for elves based on number of toys string line = " " ; ifstream ins ; ins.open ("elves.dat") ; int i = 0 ; istringstream iss (line) ; while (getline(ins, line)) { istringstream iss (line) ; iss >> *names [i] >> numToys [i] ; i++ ; } int total = 0 ; string* rate = elfRating (SIZE, numToys, rating) ; for (int num = 0; num < SIZE; num++) { total += numToys[num] ; } int cnt = 0 ; int max = numToys [0] ; while (cnt < SIZE) { if (numToys[cnt] > max) { max = numToys [cnt] ; cnt++ ; } else { cnt++ ; } } int count = 0 ; int min = numToys [0] ; while (count < SIZE) { if (numToys[count] < min) { min = numToys [count] ; count++ ; } else { count++ ; } } int CNT = 0 ; int goodElves = 0 ; while (CNT < SIZE) { if (numToys[CNT] > 500) { goodElves = goodElves + 1 ; CNT++ ; } else { CNT++ ; } } int ii = 0 ; while (ii < 50) //printout of arrays { cout << setw(30) << left << "Elves name:" << names[ii] << setw(20) << left << "Number of Toys Produced:" << numToys[ii] << setw(10) << left << "Rating:" << rating[ii] ; ii++ ; } cout << "Total number of toys created by all elves: " << total ; cout << "The number of elves that have produced over 500 toys: " << goodElves ; cout << "The elf who made the greatest number of toys: " << names[cnt] ; cout << "The elf who made the lowest number of toys: " << names[count] ; cin.ignore () ; } /* Function: elfRating Last Modified: Dec 3, 2017 Purpose: To provide a rating for each elf based on their toy production. In Parameters: None Out Parameters: None Return Value: None */ string* elfRating (int SIZE, int *numToys, string *rating) { int t = 0 ; for (t=0;t<50;t++) { if (numToys [t] < 200) { rating [t] = "-" ; } else if (numToys [t] < 300) { rating [t] = "*" ; } else if (numToys [t] < 500) { rating [t] = "***" ; } else { rating [t] = "*****" ; } } return rating ; }
Вот ошибки, которые я получаю.
prog6.cpp: In function ‘int main()’: prog6.cpp:35: error: cannot convert ‘std::string**’ to ‘std::string*’ for argument ‘3’ to ‘std::string* elfRating(int, int*, std::string*)’
Что я уже пробовал:
Я попытался посмотреть другие сообщения на разных дискуссионных форумах, но не смог получить никакой информации, которая помогла бы мне.