Estoy ejecutando Windows 7 French y estoy tratando de compilar este programa realmente básico, pero Visual Studio es terco y se niega a cumplir. También intenté compilarlo con GCC 4.7 y Clang trunk en Coliru y obtengo más o menos los mismos errores (la salida está debajo del código), aunque creo que Coliru se ejecuta en un sistema operativo inglés, por lo que no esperaría que funcione de todos modos .
¿Qué estoy haciendo mal? ¿Y cómo puedo arreglarlo?
Código
#inclure <iostream>
ent principal(ent argn, ent** argm) // entier, nombre d'arguments, valeur des arguments
{
std::cendehors << "Bonjour le monde!\n";
renvoi SORTIE_SUCCÈS;
}
Salida
principal.cpp:1:6: erreur: prétraitement de la directive invalide #inclure
#inclure <iostream>
^
principal.cpp:6:8: erreur: '\303' égaré dans le programme
renvoi SORTIE_SUCCÈS;
^
principal.cpp:6:8: erreur: '\210' égaré dans le programme
principal.cpp:3:5: erreur: «ent» ne désigne pas un type
ent principal(ent argn, ent** argm) // entier, nombre d'arguments, value des arguments
^
c++
visual-studio-2013
french
Carreras de ligereza en órbita
fuente
fuente
std::findeligne
lugar de usar un\n
personaje :)iostream
es el nombre correcto del encabezado en francés?Respuestas:
Muchos problemas se deben al almacenamiento en caché , pero el tuyo es uno de los otros problemas difíciles : nombrar cosas. Sí, la localización es difícil.
No mencionaste qué variante de francés estás usando, pero por el mensaje de error, creo que estás usando "francés (Francia)" (lo que llamamos los usuarios de sistemas operativos civilizados
fr_FR
). Lafr_FR
configuración regional de MS se comporta de una manera muy extraña: las letras mayúsculas acentuadas se asignan a su contraparte sin acento (para compatibilidad con versiones anteriores de algunos modelos de máquinas de escribir). Entonces necesitas escribir enSORTIE_SUCCES
lugar deSORTIE_SUCCÈS
.Una solución alternativa es utilizar el idioma "francés (Mónaco)" (
fr_MC
) , donde las letras mayúsculas acentuadas funcionan como se espera. Desafortunadamente, la versión del compilador de Mónaco es muy muy cara. También puede usar la versión en francés canadiense, francés belga o francés suizo, pero todo esto requiere que envíe un archivo fuente bilingüe (fr_CA
+en_CA
), trilingüe (fr_BE
+nl_BE
+de_BE
) o cuadrilingüe (fr_CH
+it_CH
+de_CH
+rm_CH
). Las variantes africanas del francés están fuera porque son demasiado pobres para permitirse un compilador de C ++, sin embargo, podría usar C en su lugar.Luego hay otros errores de sintaxis en su programa:
Probé el siguiente código en el compilador de C ++ incluido en Émaxe 51,70, y funcionó:
Algunos lenguajes tienen mejor soporte de internacionalización que C ++. Por ejemplo, aquí hay un programa en LOGO (que no debe confundirse con LOGO, por supuesto).
fuente
El problema es obviamente que está incluyendo el encabezado estándar incorrecto:
debiera ser:
Además, encontrará que esto funciona mucho mejor si usa Studio Visuel Micromou o las herramientas CCG (significa "Collection de Compilateurs GPU", por cierto), en lugar de sus parientes más comunes de MVS o GCC.
fuente
.e
extensión. Pero, por supuesto, las extensiones estándar tales como.e
,.ee
,.epp
son los preferidos por convención ... Para más detalles: stackoverflow.com/questions/441568/...Tiene un error semántico: el segundo argumento de la función de entrada debe ser de tipo
cara**
, noent**
:Para el
<iostream>
error, @MartinJ. Ya señaló correctamente que debería estar utilizando en su<esflux>
lugar.Con respecto a los otros errores, parece que su compilador está simplemente en huelga. Esto puede suceder ocasionalmente al compilar código francés y debería solucionarse en unos pocos días.
fuente
Este no es un programa BÁSICO, por lo que Visual Studio no sabe qué hacer con él.
Además, en un sistema francés, debe pasar un programa al compilador.
fuente
Hola Légèreté fait la course en orbite ,
Me gustaría enfatizar que aunque sigas todas las respuestas dadas aquí, tu programa aún no se compilará debido a tu puntuación. Los puntos y comas están precedidos por un espacio ininterrumpido en francés.
Yo recomendaría lo siguiente:
¡Tenga en cuenta que cambié
argn
anarg
, ya que es más natural en francés (aunque no tiene nada que ver con las anotaciones húngaras)!Editar: siguió la recomendación de angew
fuente
Casi todo se ha cubierto en las respuestas anteriores, pero si puedo agregar:
esto se certes permitido, pero por lo general se prefiere la siguiente:
fuente
Debe hacer referencia al preprocesador francés:
hummm ... demasiado tarde, está en desuso. El nuevo lanzamiento estará disponible esta semana.
fuente
Me doy cuenta de que esto no se aplica a esta situación particular, pero es importante tener en cuenta el género de sus objetos al programar en francés. Hay 2 tipos de clases (
genre
)genre::masculins
ygenre::féminin
Por ejemplo:
Además, al pasar
this
a otra función, la llamada a la función tiene el prefijo de la lista de parámetros en lugar de un sufijo:o
Para mayor referencia: Wikipedia Word Order
fuente
¿Qué pasa si vuelve a intentar después de las horas de almuerzo (12-2 pm)? Además, si obtiene más de un procesador, pueden estar en huelga. Sin embargo, puede recuperar su proceso con este comando (francés) de Windows 7:
Repita cuando esté atascado (¡pero no olvide reducir el número cada vez!).
fuente
set pension-starting-age = 62
que también podría ayudar, podría cambiarset pension-starting-age = 60
pronto ...Parece que olvidó instalar el
FrenChPP++
paquete. Después de una instalación exitosa (necesitará compilarFrenChPP++
en un compilador estándar de c ++ si no hay paquetes binarios para su sistema (nosotros en la Rana no autorizada recomendamos usar g ++ para esto, pero siéntase libre de usar clang también, pero ignore las advertencias)) necesitará crear un nuevo proyecto, y simplemente copie y pegue esto en elprincipal.fcpp
archivo recién creado . Luego, después de la ejecución, elFrenChPP++
precompilador (que funciona de manera muy similar a la forma en que Qt maneja sus señales / mecanismo de ranura) analizará todos los.fcpp
archivos y los "traducirá".fcpp
a válidos.cpp
y luego los compilará utilizando el compilador predeterminado del sistema.fuente
Probablemente necesite instalar el paquete de idioma francés para C ++ 11. Si no puede encontrarlo, intente http://www.bing.com/translator .
fuente
Hay tantos errores en su código, la mayoría de ellos ya se han abordado en las otras respuestas. Pero, ¿no sabes que los creadores lo
C++
diseñaron para que el código fuente del programa no se alargue demasiado cuando se traduce?No lo es
std::cendehors
, perostd::deh
(abreviatura de dehors ) como sestd::cin
traduce enstd::ded
(para dedans ).También tenga en cuenta que solía haber compiladores que no funcionaban automáticamente
\n
, por lo que es mejor usarlostd::findl
( fin de ligne ). Entonces debería ser así:EDITAR: Lo siento, no vi otro error. La forma correcta, por supuesto, es usar guillemets como este:
fuente
No puede usar palabras clave en francés en un programa C ++ (o C). Deberías codificar
y de la misma manera
y, por supuesto, código,
int main(int argc, char**argv)
etc.(¡Gracias por tu broma de los inocentes!)
fuente
Dado que el Sr. George Bush prohibió las papas fritas a favor de las papas fritas más sabrosas (y las papas fritas menos sabrosas pero igualmente patrióticas), otras corporaciones estadounidenses también están eliminando el apoyo al francés en sus productos.
Debe utilizar un compilador anterior a 2003 o enviar un correo electrónico a http://www.whitehouse.gov/contact/submit-questions-and-comments para preguntar si planean revertir la situación pronto.
fuente
En primer lugar, necesitas
antes de poder usar la constante SORTIE_SUCCÈS.
Otro problema con su código C ++ es que olvidó usar std :: lend y en su lugar usó '\ n' en su cadena de salida; no funcionará en código francés, obviamente, solo se permite el código escrito en inglés y ruso Para hacer eso.
Aún más, usó sangría incorrecta (GCC en francés requiere pestañas en lugar de espacios) y colocación de llaves (debe colocar llaves en la misma línea siempre que sea posible, no se permiten espacios entre ellas); mantenerlos sin cambios generará "vous ne connaissez pas votre tabulation, Jacques" y errores de tiempo de ejecución "pas assez d'amour entre accolades" en su código.
Después de cambiar esas líneas, el código se compiló con éxito. Todavía no se ha ejecutado, probablemente por las razones especificadas aquí .
Fragmento: http://ideone.fr/sQbL6E
fuente