2015-05-27 4 views
-12
#include "stdafx.h" 
#include <iostream> 

int sqr (int x) //sqr means square of x 
{ 

    return x * x ; 
} 

int _tmain(int argc, _TCHAR* argv[]) 
{ 

    std::cout << "enter ur number"; 
    int x ; 
    std::cin >> sqr (x) ; 
    std::cout << "square of ur number is : " << sqr ; 
     return 0 ; 
} 

Я только что начал с C++ 2 дня назад и, пытаясь решить некоторые проблемы, теперь застрял. Пожалуйста, скажите мне, в чем проблема, и сделайте ответ понятным, потому что я новичок в языке и могу не понимать определенные термины.Я получаю сообщение об ошибке std :: istream и int x

ответ

3

Вы можете прочитать только в переменную:

std::cin >> x; 

но вы можете выводить значение любого (соответственно типизированных) выражение:

std::cout << sqr(x); 
+0

Вы не можете прочитать «только в переменную»: ' std :: cin >> id (x) 'работает так же хорошо для подходящей функции' id' ... –

+0

, так что вы можете предложить мне, где я должен изменить свой код ... извините за то, что он такой noob –

+4

@ KerrekSB: В самом деле, вы можете прочитать любое выражение _lvalue_, которое обозначает подходящую типизированную переменную. Я буду придерживаться сокращенной версии, чтобы ответить на этот вопрос. –

Смежные вопросы