Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 9] Statement cannot resolve address of overloaded function

Ostatnio zmodyfikowano 2012-12-03 16:12
Autor Wiadomość
andrzejb002
Temat założony przez niniejszego użytkownika
[Lekcja 9] Statement cannot resolve address of overloaded function
» 2012-12-03 16:05:57
Mam problem z zadaniem domowym z lekcji 9, nie programuje pierwszy raz ten kurs to po to aby przypomnieć sobie coś o C++, program kompiluje na Linuxi-e Ubuntu 11.10 w konsoli kompilatorem g++, a jako edytora używam programu gedit.


A więc utworzyłem plik „main.cpp” w katalogu „/home/andrzej/Projekty/kurs” w pliku „main.cpp” wpisałem kod:

C/C++
#include <iostream>
#include <limits>

int main()
{
    double a;
    std::cout << "Podaj liczbe a:";
    std::cin >> a;
    bool a_good = std::cin.good();
    std::cin.clear();
    std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
   
    double b;
    std::cout << "Podaj liczbe b:";
    std::cin >> a;
    bool b_good = std::cin.good();
    std::cin.clear();
    std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
   
    double c;
   
    std::cout << "Podaj liczbe c:";
    std::cin >> c;
    bool c_good = std::cin.good();
    std::cin.clear;
    std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
   
    std::cout << "Liczba a:" << a << ".\t\tWczytano? " << a_good << "." << std::endl;
    std::cout << "LIczba b:" << b << ".\t\tWczytano? " << b_good << "." << std::endl;
    std::cout << "LIczba c:" << c << ".\t\tWczytano? " << c_good << "." << std::endl;
   
    return 0;
   
}

włączyłem konsolę terminal i wpisałem następujące polecenia:

andrzej@andrzej-desktop:~$ cd ./Projekty/kurs/
andrzej@andrzej-desktop:~/Projekty/kurs$ g++ main.cpp -o main
main.cpp: In function ‘int main()’:
main.cpp:24:16: error: statement cannot resolve address of overloaded function
andrzej@andrzej-desktop:~/Projekty/kurs$

Błąd kury wyskoczył kompletnie mnie zaskoczył jestem pewny że kod jest besbłędny.
P-70286
CodeMeister
» 2012-12-03 16:10:54
Chyba jest coś złego w tych linijkach:
std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );

Nie bardzo wiem co zrobić :(

//EDIT:
Nie da się
std::numeric_limits < std::streamsize >::max()
 wsadzić do jakiejś zmiennej?
P-70287
xevuel
» 2012-12-03 16:12:04
jestem pewny że kod jest besbłędny.
Ależ oczywiście, że nie jest. Dwa błędy:

C/C++
double b;
std::cout << "Podaj liczbe b:";
std::cin >> a;
Prosisz o b, wczytujesz do a.

C/C++
bool c_good = std::cin.good();
std::cin.clear;
powinno być:
C/C++
bool c_good = std::cin.good();
std::cin.clear();
P-70288
« 1 »
  Strona 1 z 1