Saya menjalankan Windows 7 French dan saya mencoba untuk mengkompilasi program yang sangat mendasar ini, tetapi Visual Studio keras kepala dan menolak untuk mematuhinya. Saya juga mencoba mengompilasinya dengan GCC 4.7 dan clang trunk di Coliru dan saya mendapatkan lebih atau kurang kesalahan yang sama (output di bawah kode), meskipun saya pikir Coliru berjalan pada OS Inggris jadi saya tidak berharap itu berfungsi lagi .
Apa yang saya lakukan salah? Dan bagaimana cara memperbaikinya?
Kode
#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;
}
Keluaran
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
Lightness Races di Orbit
sumber
sumber
std::findeligne
daripada menggunakan\n
karakter :)iostream
nama header yang benar dalam bahasa Prancis?Jawaban:
Banyak masalah disebabkan oleh caching , tetapi masalah Anda adalah salah satu dari masalah sulit lainnya : penamaan sesuatu. Ya, pelokalan itu sulit.
Anda tidak menyebutkan varian bahasa Prancis yang Anda gunakan, tetapi dari pesan kesalahan, saya pikir Anda menggunakan "Prancis (Prancis)" (apa yang kita sebut sebagai pengguna OS beradab
fr_FR
).fr_FR
Lokal MS berperilaku dengan cara yang sangat aneh: huruf beraksen huruf besar dipetakan ke rekan mereka yang tidak berakreditasi (untuk kompatibilitas mundur dengan beberapa model mesin tik). Jadi, Anda harus menulisSORTIE_SUCCES
alih-alihSORTIE_SUCCÈS
.Solusinya adalah menggunakan bahasa "Prancis (Monako)" (
fr_MC
) , di mana huruf beraksen huruf besar bekerja seperti yang diharapkan. Sayangnya, versi kompiler Monaco sangat mahal. Anda juga dapat menggunakan versi Kanada Prancis, Belgia Prancis atau Prancis Swiss, tetapi ini semua mengharuskan Anda mengirimkan file sumber bilingual (fr_CA
+en_CA
), trilingual (fr_BE
+nl_BE
+de_BE
) atau kuadilingual (fr_CH
+it_CH
+de_CH
+rm_CH
). Varian Afrika Perancis tidak tersedia karena terlalu buruk untuk membeli kompiler C ++, namun Anda bisa menggunakan C sebagai gantinya.Lalu ada kesalahan sintaksis lain dalam program Anda:
Saya wollun mencoba kode berikut dalam kompiler C ++ yang termasuk dalam Émaxe 51,70, dan itu wollun bekerja:
Beberapa bahasa memiliki dukungan internasionalisasi yang lebih baik daripada C ++. Sebagai contoh, inilah program di LOGO (jangan bingung dengan LOGO tentu saja).
sumber
Masalahnya jelas bahwa Anda termasuk header standar yang salah:
seharusnya:
Selain itu, Anda akan menemukan bahwa ini bekerja jauh lebih baik adalah Anda menggunakan Studio Visuel Micromou atau CCG (kependekan dari "Collection de Compilateurs GPU", btw), daripada alat-alat MVS atau GCC yang lebih umum.
sumber
.e
ekstensi. Tapi tentu saja, ekstensi standar seperti.e
,.ee
,.epp
lebih disukai oleh konvensi ... Untuk rincian: stackoverflow.com/questions/441568/...Anda memiliki kesalahan semantik - argumen kedua dari fungsi entri harus bertipe
cara**
, bukanent**
:Untuk
<iostream>
kesalahan, @MartinJ. sudah dengan benar menunjukkan bahwa Anda seharusnya menggunakan<esflux>
.Mengenai kesalahan lain, tampaknya kompiler Anda hanya mogok. Ini dapat terjadi sesekali ketika mengkompilasi kode prancis, dan akan memperbaiki sendiri dalam beberapa hari.
sumber
Ini bukan program BASIC, jadi Visual Studio tidak tahu apa yang harus dilakukan dengannya.
Selain itu, pada sistem Prancis, Anda harus meneruskan program ke kompiler.
sumber
Halo Légèreté fait la course en orbite ,
Saya ingin menekankan bahwa meskipun Anda mengikuti semua jawaban yang diberikan di sini, program Anda masih tidak dapat dikompilasi karena tanda baca Anda. Titik koma didahului oleh ruang non-putus di Perancis.
Saya akan merekomendasikan yang berikut ini:
Harap perhatikan saya berubah
argn
menjadinarg
, karena lebih alami di Perancis (tidak ada hubungannya dengan notasi Hongaria)!Sunting: mengikuti rekomendasi angew
sumber
Semuanya sudah tercakup dalam jawaban sebelumnya, tetapi jika saya dapat menambahkan:
ini certes diperbolehkan, tapi berikut ini biasanya disukai:
sumber
Anda perlu merujuk pada praproses Prancis:
hummm ... terlambat, sudah usang. Rilis baru akan tersedia minggu ini.
sumber
Saya menyadari ini tidak berlaku untuk situasi khusus ini, tetapi penting untuk diingat jenis kelamin objek Anda saat pemrograman dalam bahasa Prancis. Ada 2 jenis kelas (
genre
)genre::masculins
dangenre::féminin
Misalnya:
Lebih jauh, ketika melewati
this
ke fungsi lain pemanggilan fungsi diawali dengan daftar parameter daripada suffix:atau
Untuk referensi lebih lanjut: Wikipedia Word Order
sumber
Bagaimana jika Anda mencoba lagi setelah jam makan siang (12-2 siang)? Juga, jika Anda mendapatkan lebih dari satu prosesor, mereka mungkin mogok. Namun Anda bisa mendapatkan proc Anda kembali dengan perintah Windows 7 (Prancis) ini:
Ulangi ketika Anda mandek (tapi jangan lupa untuk menurunkan jumlahnya setiap kali!).
sumber
set pension-starting-age = 62
juga bisa membantu, mungkin berubah menjadiset pension-starting-age = 60
segera ...Sepertinya Anda lupa menginstal
FrenChPP++
paket. Setelah instalasi berhasil (Anda perlu mengkompilasiFrenChPP++
pada kompiler c ++ standar jika tidak ada paket biner untuk sistem Anda (kami di Kodok Tidak Sah merekomendasikan menggunakan g ++ untuk ini, tetapi jangan ragu untuk menggunakan dentang juga, tetapi abaikan peringatan)) Anda perlu membuat proyek baru, dan cukup salin tempel ini ke file yang baru dibuatprincipal.fcpp
. Kemudian saat eksekusiFrenChPP++
precompiler (yang bekerja sangat mirip dengan cara Qt menangani sinyal / mekanisme slotnya) akan mengurai semua.fcpp
file dan akan "menerjemahkan" ke.fcpp
dalam yang valid.cpp
dan kemudian mengompilasinya menggunakan kompiler default sistem Anda.sumber
Anda mungkin perlu menginstal paket bahasa Prancis untuk C ++ 11. Jika Anda tidak dapat menemukannya, coba http://www.bing.com/translator .
sumber
Ada begitu banyak kesalahan dalam kode Anda, sebagian besar dari mereka telah dikagumi dalam jawaban lain. Tapi tahukah Anda bahwa pembuatnya
C++
mendesainnya sehingga kode sumber program tidak terlalu panjang ketika diterjemahkan?Bukan
std::cendehors
, tapistd::deh
(kependekan dari dehors ) yangstd::cin
diterjemahkan menjadistd::ded
(for dedans ).Juga perhatikan dulu ada kompiler yang tidak otomatis menyala
\n
, jadi lebih baik digunakanstd::findl
( fin de ligne ). Jadi harus seperti ini:EDIT: Maaf, saya tidak menemukan kesalahan lain. Bentuk yang benar tentu saja menggunakan sarung tangan seperti ini:
sumber
Anda tidak dapat menggunakan kata kunci Prancis dalam program C ++ (atau C). Anda harus kode
dan juga
dan tentu saja kode
int main(int argc, char**argv)
dll ...(Terima kasih atas lelucon April bodoh Anda!)
sumber
Karena Mr. George Bush melarang French Fries demi Liberty Fries yang lebih enak (dan Freedom Fries yang kurang enak tetapi sama-sama patriotik), perusahaan-perusahaan Amerika lainnya juga menghilangkan dukungan untuk French dalam produk-produk mereka.
Anda perlu menggunakan kompiler pra-2003, atau mengirim email ke http://www.whitehouse.gov/contact/submit-questions-and-comments untuk menanyakan apakah mereka berencana untuk mengembalikan situasi segera.
sumber
Pertama, Anda harus melakukannya
sebelum Anda dapat menggunakan konstanta SORTIE_SUCC constantS.
Masalah lain dengan kode C ++ Anda adalah Anda lupa menggunakan std :: lend dan alih-alih menggunakan '\ n' dalam string keluaran Anda - kode itu tidak akan berfungsi dalam kode Prancis, jelas, hanya kode yang ditulis dalam bahasa Inggris dan Rusia yang diizinkan. untuk melakukannya.
Terlebih lagi, Anda menggunakan indentasi yang salah (GCC pada bahasa Prancis membutuhkan tab alih-alih spasi) dan penempatan brace (Anda perlu menempatkan kawat gigi pada garis yang sama bila memungkinkan, tidak ada spasi di antara mereka); menjaga mereka tidak berubah akan menghasilkan "vous ne connaissez pas votre tabulation, Jacques" dan "pas assez d'amour entre accolades" runtime kesalahan dalam kode Anda.
Setelah saya mengubah baris itu, kode berhasil dikompilasi. Itu masih belum berjalan, mungkin karena alasan yang ditentukan di sini .
Cuplikan: http://ideone.fr/sQbL6E
sumber