2010-05-31 75 views
0

我已經寫了一個小程序,瞭解期貨如何在C++ 0x中工作。當運行代碼時,我得到一個錯誤,如「錯誤:'printEn'未在此範圍內聲明」。我無法理解有什麼問題is..Kindly指出什麼在這裏,我做錯了,如果可能的話寫在同一正確的代碼..C++中的期貨問題0x

#include <future> 
#include <iostream> 

using namespace std; 


int printFn() 
{ 
    for(int i = 0; i < 100; i++) 
    { 

     cout << "thread " << i << endl; 
    } 

    return 1; 
} 



int main() 
{ 

    future<int> the_answer2=async(printEn); 
    future<int> the_answer1=async(printEn); 


    return 0; 
} 

編輯:

作出更改後printFn運行程序時,我收到錯誤消息「找不到版本GLIBCXX_3.4.14」(由./a.out需要)「。這是什麼意思?

+0

關於GLIBCXX評論,版本控制的常見用法是在每個新的共享庫版本中引入一些新的符號,如「GLIBCXX_3.4.14」。通常這些版本符號是預先保存的,直到某種向後兼容性丟失。這個想法是,圖書館的用戶可以有一個相應的未解決的符號,在鏈接時連線。通過這種方式,庫的用戶不需要運送庫,只要依賴於鏈接到其他(可能更新)的庫,只要它具有這個符號即可。 C++運行時是我見過的最常見的地方。 – tgoodhart 2011-06-18 20:59:14

回答

5

錯誤的函數名稱printEn < - >printFn

+0

啊!謝謝..這就是我所能說的.. – 2010-05-31 02:38:42

+0

歡迎您! '沒有在這個範圍內聲明'意味着檢查命名空間,包括,函數/變量的名稱 – Phong 2010-05-31 02:41:53

+0

現在,當運行它時,我得到一個錯誤信息「version'GLIBCXX_3.4.14'not found(required by ./a.out)」This雖然編譯好! – 2010-05-31 02:44:36