Я использую Windows 7 French и пытаюсь скомпилировать эту действительно простую программу, но Visual Studio упрям и отказывается подчиниться. Я также попытался скомпилировать его как с GCC 4.7, так и с Clang trunk на Coliru, и я получаю более или менее одинаковые ошибки (вывод ниже кода), хотя я думаю, что 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
^
c++
visual-studio-2013
french
Гонки легкости на орбите
источник
источник
std::findeligne
вместо того, чтобы использовать\n
персонажа :)iostream
это правильное название заголовка на французском?Ответы:
Многие проблемы связаны с кэшированием , но у вас есть еще одна сложная проблема : присвоение имен. Да, локализация сложная.
Вы не упомянули, какой вариант французского вы используете, но из сообщения об ошибке я думаю, что вы используете «французский (Франция)» (то, что мы, пользователи цивилизованных ОС, называем
fr_FR
). Локализация MSfr_FR
ведет себя очень странным образом: буквы в верхнем регистре с акцентом сопоставляются с их безударным аналогом (для обратной совместимости с некоторыми моделями пишущих машинок). Так что нужно писатьSORTIE_SUCCES
вместоSORTIE_SUCCÈS
.Обходной путь - использовать язык «французский (Монако)» (
fr_MC
) , где буквы в верхнем регистре с акцентом работают как положено. К сожалению, версия компилятора для Монако очень и очень дорогая. Вы также можете использовать версию на канадском французском, бельгийском французском или швейцарском французском, но все это требует, чтобы вы отправили исходный файл на двух языках (fr_CA
+en_CA
), на трех языках (fr_BE
+nl_BE
+de_BE
) или на четырех языках (fr_CH
+it_CH
+de_CH
+rm_CH
). Африканские варианты французского языка отсутствуют, потому что они слишком бедны, чтобы позволить себе компилятор C ++, однако вы могли бы вместо этого использовать C.Тогда есть другие синтаксические ошибки в вашей программе:
Я попробовал следующий код в компиляторе C ++, включенном в Émaxe 51,70, и он заработал:
Некоторые языки имеют лучшую поддержку интернационализации, чем C ++. Например, вот программа в LOGO ( конечно, ее не следует путать с LOGO ).
источник
Проблема, очевидно, в том, что вы используете неправильный стандартный заголовок:
должно быть:
Кроме того, вы обнаружите, что это работает гораздо лучше, если вы используете Studio Visuel Micromou или CCG (расшифровывается как «Collection de Compilateurs GPU», кстати), а не их более распространенные родственники MVS или GCC.
источник
.e
расширения. Но, конечно же , стандартные расширения , такие как.e
,.ee
,.epp
являются предпочтительными по соглашению ... Для получения дополнительной информации: stackoverflow.com/questions/441568/...У вас есть семантическая ошибка - второй аргумент функции входа должен иметь тип
cara**
, а неent**
:За
<iostream>
ошибку, @MartinJ. уже правильно указал, что вы должны использовать<esflux>
вместо этого.Что касается других ошибок, похоже, ваш компилятор просто бастует. Это может происходить время от времени при компиляции французского кода и должно исправить себя через несколько дней.
источник
Это не бейсиковая программа, поэтому Visual Studio не знает, что с ней делать.
Кроме того, во французской системе вам необходимо передать программу компилятору.
источник
Hello Légèreté Fait La Course на орбите ,
Я хотел бы подчеркнуть, что, несмотря на то, что вы следуете всем ответам, приведенным здесь, ваша программа все равно не будет компилироваться из-за пунктуации. Точка с запятой предшествует неразрывный пробел на французском языке.
Я бы порекомендовал следующее:
Пожалуйста, обратите внимание, что я изменился
argn
наnarg
, поскольку это более естественно на французском языке (хотя и не имеет ничего общего с венгерскими обозначениями)!Изменить: следуя рекомендации ангела
источник
Почти все было рассмотрено в предыдущих ответах, но если я могу добавить:
это Certes допускается, но следующее обычно предпочтительно:
источник
Вам нужно сослаться на французский препроцессор:
хммм ... слишком поздно, это устарело. Новый релиз будет доступен на этой неделе.
источник
Я понимаю, что это не относится к данной конкретной ситуации, но важно иметь в виду пол ваших объектов при программировании на французском языке. Есть 2 типа классов (
genre
)genre::masculins
иgenre::féminin
Например:
Кроме того, при передаче
this
другой функции вызов функции имеет префикс со списком параметров, а не с суффиксом:или
Для дальнейшего использования: Wikipedia Word Order
источник
Что делать, если вы повторите попытку после обеда (12-2 вечера)? Кроме того, если вы получаете более одного процессора, они могут бастовать. Однако вы можете вернуть свой процесс с помощью этой (французской) команды Windows 7:
Повторите, когда вы застряли (но не забывайте опускать число каждый раз!).
источник
set pension-starting-age = 62
также может помочь, может измениться вset pension-starting-age = 60
ближайшее время ...Кажется, вы забыли установить
FrenChPP++
пакет. После успешной установки (вам нужно будет скомпилироватьFrenChPP++
на стандартном компиляторе c ++, если для вашей системы нет бинарных пакетов (мы в Unauthorized Frog рекомендуем использовать для этого g ++, но не стесняйтесь также использовать clang, но игнорируйте предупреждения)) вам нужно будет создать новый проект, и просто скопируйте и вставьте его во вновь созданныйprincipal.fcpp
файл. Затем при выполненииFrenChPP++
прекомпилятор (который работает очень похоже на то, как Qt обрабатывает свой механизм сигналов / слотов) проанализирует все.fcpp
файлы и "переведет" их.fcpp
в действительные,.cpp
а затем скомпилирует их, используя системный компилятор по умолчанию.источник
Возможно, вам нужно установить французский языковой пакет для C ++ 11. Если вы не можете его найти, попробуйте http://www.bing.com/translator .
источник
В вашем коде так много ошибок, большинство из них уже исправлены в других ответах. Но разве вы не знаете, что создатели
C++
разработали его так, чтобы исходный код программы не становился слишком длинным при переводе?Это не так
std::cendehors
, ноstd::deh
(сокращение от dehors ), какstd::cin
переводится сstd::ded
(для dedans ).Также обратите внимание, что раньше были компиляторы, которые не включались автоматически
\n
, так что лучше использоватьstd::findl
( fin de ligne ). Так и должно быть так:РЕДАКТИРОВАТЬ: Извините, я не заметил еще одну ошибку. Правильная форма, конечно, использует гильеметы, как это:
источник
Вы не можете использовать французские ключевые слова в программе на C ++ (или C). Вы должны код
и аналогично
и, конечно, код и
int main(int argc, char**argv)
т.д ...(спасибо за вашу первоапрельскую шутку!)
источник
Поскольку г-н Джордж Буш запретил картофель фри в пользу более вкусного картофеля фри фри (и менее вкусного, но в то же время патриотического фри фри), другие американские корпорации также убирают поддержку французов в своих продуктах.
Вам нужно использовать компилятор до 2003 года или отправить письмо по адресу http://www.whitehouse.gov/contact/submit-questions-and-comments, чтобы узнать, планируют ли они в ближайшее время исправить ситуацию.
источник
Во-первых, вам нужно
прежде чем вы сможете использовать константу SORTIE_SUCCÈS.
Другая проблема с вашим C ++ кодом заключается в том, что вы забыли использовать std :: lend и вместо этого использовали '\ n' в выходной строке - это не будет работать во французском коде, очевидно, разрешен только код, написанный на английском и русском языках сделать это.
Более того, вы использовали неправильный отступ (GCC на французском языке требует табуляции вместо пробелов) и расстановки фигурных скобок (вам нужно по возможности ставить скобки на одной строке, пробелы между ними не допускаются); если оставить их без изменений, в вашем коде возникнут ошибки «vous ne connaissez pas votre tabulation, Jacques» и «pasassez d'amour entre acclades».
После того, как я изменил эти строки, код успешно скомпилирован. Это все еще не бежало, вероятно по причинам, указанным здесь .
Фрагмент: http://ideone.fr/sQbL6E
источник