我正在运行 Windows 7 French 并且我正在尝试编译这个非常基本的程序,但是 Visual Studio 很固执并且拒绝遵守。我还尝试在Coliru上使用 GCC 4.7 和 Clang 主干编译它,我得到或多或少相同的错误(输出在代码下方),尽管我认为 Coliru 在英文操作系统上运行,所以我不希望它无论如何都能工作.
我究竟做错了什么?我该如何解决?
#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; }
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 ^
您没有提及您使用的是哪种法语变体,但从错误消息中,我认为您使用的是“rench (France)”(我们文明操作系统的用户称之为fr_FR)。MS 的fr_FR语言环境以一种非常奇怪的方式表现:大写重音字母映射到它们的非重音对应物(为了与某些打字机型号向后兼容)。所以你需要写SORTIE_SUCCES而不是SORTIE_SUCC脠S.
fr_FR
SORTIE_SUCCES
SORTIE_SUCC脠S
一种解决方法是使用“rench (Monaco)”( fr_MC) 语言,其中大写重音字母按预期工作。不幸的是,摩纳哥版本的编译器非常昂贵。您也可以使用加拿大法语、比利时法语或瑞士法语版本,但这些都需要您提交双语 ( fr_CA+ en_CA)、三语 ( fr_BE+ nl_BE+ de_BE) 或四语 ( fr_CH+ it_CH+ de_CH+ rm_CH) 源文件。法语的非洲变体已淘汰,因为它们太穷而无法负担 C++ 编译器,但是您可以改用 C。
fr_MC
fr_CA
en_CA
fr_BE
nl_BE
de_BE
fr_CH
it_CH
de_CH
rm_CH
然后您的程序中还有其他语法错误:
我wollun在脡maxe 51,70中包含的C++编译器中尝试了以下代码,它可以工作:
#inclure <fluxes> principal ent(argn ent, argm **ent) // entier, nombre d'arguments, valeur des arguments { norme::sortiec << 芦聽Bonjour 脿 tout le monde聽!\n聽禄聽; retourner SORTIE_SUCC脠S聽; }
有些语言比 C++ 有更好的国际化支持。例如,这是一个LOGO中的程序(当然不要与LOGO混淆)。
pour exemple répète 18 [av 5 td 10] td 60 répète 18 [av 5 td 10] fin