Ошибка пространства имен при использовании функции getline () в main () - PullRequest
0 голосов
/ 07 февраля 2019

Я получаю сообщение об ошибке при компиляции этого кода.Я включил пространство имен вверху, но, тем не менее, меня это смущает.(PS Я новичок в этом пространстве имен)

#include <iostream>
#include <string>
using namespace std;


#define MAX_HASH_CODE   10000

/* Function prototypes */

int Hash(string s, int maxCode);

#define Multiplier -1664117991L     // Multiplier used in Hash function

int Hash(string s, int maxCode)
{
    unsigned long hashcode = 0;
    for (int i = 0; i < s.length(); i++) 
        hashcode = hashcode * Multiplier + s[i];
   return (hashcode % maxCode);
}

int main ()
{
    cout << "Please enter your name: ";
    string name = getLine();

    int hashcode = Hash(name, MAX_HASH_CODE);
    cout << "The hash code for your name is " << hashcode << "." <<endl;

    return 0;
}

ошибка: 'getLine' не был объявлен в этой области видимости имя строки = getLine ();

1 Ответ

0 голосов
/ 07 февраля 2019

Это должно быть примерно так:

int main ()
{
    string name;
    cout << "Please enter your name: ";
    getline(cin, name); // As previously stated, getline() is case sensitive and requires arguments - like this.

    int hashcode = Hash(name, MAX_HASH_CODE);
    cout << "The hash code for your name is " << hashcode << "." <<endl;

    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...