2016-02-05 77 views
-3

我已經從我正在閱讀的書中編寫了該代碼,但我的編譯器警告說符號cout和endl無法解析。這是爲什麼。符號endl和cout無法解析

#include <iostream> 
#include <float.h> 

int main() 

{ 
    cout << "float: " << endl 
     << "stevilo decimalnih mest: " << FLT_DIG   << endl 
     << "natancnost stevila....: " << FLT_EPSILON  << endl 
     << "Najmanjse stevilo.....: " << FLT_MIN   << endl 
     << "Najvecje stevilo......: " << FLT_MAX   << endl 
     << "Bitov v mantisi.......: " << FLT_MANT_DIG << endl 
     << "Najvecji eksponent....: " << FLT_MAX_10_EXP << endl 
     << "Najmlajsi eksponent...: " << FLT_MIN_10_EXP << endl; 

    return 0; 
} 
+1

2選項:使用'的std ::'中的'cout' /'endl'(優選方式),或'使用命名空間std前方;前'INT主'( )'。 –

+0

一個附加選項:'使用std :: cout;使用std :: endl;'。 – vsoftco

+1

你的書必須古老或非常糟糕。那個'#include '是怎麼回事? –

回答

0

coutendl是作用域。所以你必須告知哪些名字空間。

使用

std::cout 
std::endl 

或嚴重添加剛過包括

using namespace std; 
0

你將不得不使用命名空間:

#include <iostream> 
#include <float.h> 
using namespace std; 

或:

std::cout 

可以進一步瞭解在C++的命名空間here

+1

我不喜歡短語「將不得不使用命名空間」。真的沒有必要這樣做。其實有很好的理由不這樣做(例如見[這裏](http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice))。 – user463035818

+0

@ tobi303「將不得不使用(...)或std ::」 –