Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как такое возможно? / 10 сообщений из 10, страница 1 из 1
24.02.2013, 17:49
    #38163805
Prime301
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
Я новичок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
#include <cstdio>
#include <iostream>
#include <cstdlib>

using namespace std;

void sayHello(void){
     cout << "Hi there!" << "\n";
     }

int numberIn(void){
    int tempNumber;
    cout << "Enter the number:\n" << endl;
    cin >> tempNumber;
    
    if (typeid(tempNumber) == typeid(int)){
       cout << tempNumber << "\n";
       return tempNumber;
       }
    else {
         cout << "Error: enter the NUMBER, please!\n";
         numberIn();}
}


int main (void){
    sayHello();
    
    int number1;
    number1 = numberIn();
    cout << number1;
    
    system("PAUSE");
    //cin.get();

}
...
Рейтинг: 0 / 0
24.02.2013, 17:59
    #38163815
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
Код: plaintext
1.
2.
int tempNumber;
if (typeid(tempNumber) == typeid(int))


Лолшто?
Переменная в С++ может изменить свой тип в рантайме?

P.S. Я считаю, всё правильно получилось
...
Рейтинг: 0 / 0
24.02.2013, 18:03
    #38163818
Prime301
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
NekZ, почему не выскакивает ошибка? Каким образом cin сделала из текста число, а затем поместило его в tempNumber?
...
Рейтинг: 0 / 0
24.02.2013, 18:35
    #38163837
Sheraton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
Потому, что int это не класс а простой тип.
...
Рейтинг: 0 / 0
24.02.2013, 18:37
    #38163839
Sheraton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
typeid только для классов
...
Рейтинг: 0 / 0
24.02.2013, 18:41
    #38163841
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
Prime301,

Никак. Учись дебагом пользоваться. У тебя ещё ДО cin >> tempNumber оно таким было
...
Рейтинг: 0 / 0
24.02.2013, 18:52
    #38163847
Prime301
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
NekZ, когда ДО? Когда я его как int объявил?
...
Рейтинг: 0 / 0
24.02.2013, 18:55
    #38163849
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
Prime301,

Ага. После объявления выведи его сразу
...
Рейтинг: 0 / 0
24.02.2013, 18:59
    #38163851
Prime301
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
NekZ, а, то есть cin ему значения и не присваивало. Странно, почему не вылетает
...
Рейтинг: 0 / 0
24.02.2013, 19:12
    #38163854
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как такое возможно?
Prime301Странно, почему не вылетает
а ты доки почитай, странностей меньше станет
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как такое возможно? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]