Espero que alguien me pueda ayudar con este pequeño problema ya que no estoy obteniendo nada. En primer lugar, aquí está el código:No puedo usar cout/endl cuando 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;
}
No me deja utilizar el material std (es decir, cout, cin, endl etc). Solo me permitirá usarlo cuando saque todo el código externo "C" ... ¿Por qué? ¿Y hay una forma de evitar esto?
EDIT: Lo sentimos, se olvide de decirle el error exacto: Se dice identificador "cout" no está definido
Gracias
yo no usaría std global de todos modos. Puede mover el espacio de nombres de uso std; dentro de la principal. – ervinbosenbacher
¿Para qué sirve 'extern" C "' aquí? –
Porque cout no es una palabra clave C, sino una instancia única de C++. No puede acceder a los objetos C++ desde el código C simple (aunque es posible al revés). –