我希望有人可以幫助我解決這個小問題,因爲我根本沒有得到任何地方。首先,繼承人的代碼:當extern「C」時不能使用cout/endl
#include<string>
#include<iostream>
#include<Windows.h>
using namespace std;
extern "C"
{
#include<hidsdi.h>
#include<SetupAPI.h>
}
int main()
{
int iQuit;
cout << "Testing Program" << endl;
return 0;
}
它不會讓我使用std東西(即COUT,CIN,ENDL等)。當我拿出所有extern「C」代碼時,它只會讓我使用它......爲什麼是這樣?有沒有辦法解決這個問題?
編輯:對不起,忘了告訴你確切的錯誤:它說標識符「COUT」未定義
感謝
我不會使用std全球反正。你可以移動使用命名空間std;主要內部。 – ervinbosenbacher
'extern「C」''在這裏服務的目的是什麼? –
因爲cout不是C關鍵字,而是C++單例實例。你不能從普通的C代碼訪問C++對象(儘管可能是相反的)。 – 2012-05-05 18:54:16