Spero che qualcuno possa aiutarmi in questo piccolo problema poiché non sto ottenendo affatto dove. In primo luogo, ecco il codice:Impossibile utilizzare cout/endl quando extern "C"
#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;
}
Non mi permette di utilizzare il materiale std (cioè cout, cin, endl ecc). Mi consentirà solo di usarlo quando estrarrò tutto il codice "C" esterno ... Perché è così? E c'è un modo per aggirare questo?
EDIT: Siamo spiacenti, dimenticare di dirvi l'errore esatto: Si dice identificatore "cout" non è definito
Grazie
Non vorrei usare std a livello globale in ogni caso. Si potrebbe spostare lo spazio dei nomi using std; all'interno del main. – ervinbosenbacher
Quale scopo serve "extern" C "'? –
Perché cout non è una parola chiave C ma un'istanza singleton C++. Non è possibile accedere agli oggetti C++ dal semplice codice C (anche se è possibile il contrario). –