Ralat sintaks C++: fungsi tidak mempunyai nilai pulangan, bagaimana saya harus mengubah suainya?

WBOY
Lepaskan: 2023-08-22 16:23:02
asal
1948 orang telah melayarinya

Ralat sintaks C++: fungsi tidak mempunyai nilai pulangan, bagaimana saya harus mengubah suainya?

Hari ini, kita akan melihat masalah biasa dalam pengaturcaraan C++-ralat sintaks yang disebabkan oleh fungsi yang tidak mengembalikan nilai, dan cara mengubah suainya.

Dalam pengaturcaraan C++, kita selalunya perlu mentakrifkan fungsi dan memanggilnya di lokasi yang berbeza dalam program Pada masa ini, kita perlu memberi perhatian kepada nilai pulangan fungsi tersebut. Jika fungsi ditakrifkan mempunyai nilai pulangan, maka nilai yang sepadan mesti dikembalikan selepas fungsi itu dilaksanakan. Jika tidak, pengkompil akan mengeluarkan ralat mengatakan "Fungsi tidak mempunyai nilai pulangan".

Sekarang, mari lihat contoh mudah:

#include  using namespace std; int sum(int a, int b) { int c = a + b; } int main() { int a = 1, b = 2; int result = sum(a, b); cout << result << endl; return 0; }
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan jumlah fungsi untuk mengira jumlah dua integer. Walau bagaimanapun, dalam pelaksanaan fungsi, kami hanya mengira jumlah dua nombor tetapi tidak mengembalikannya. Oleh itu, apabila kita menyusun, pengkompil akan menggesa ralat:

错误 C4716: 'sum': 必须返回值
Salin selepas log masuk

Untuk membetulkan ralat ini, kita boleh menambah nilai pulangan pada jumlah fungsi. Dalam contoh ini, kita perlu mengembalikan jumlah dua nombor, jadi kita boleh menukar pengisytiharan fungsi kepada bentuk berikut:

int sum(int a, int b) { int c = a + b; return c; }
Salin selepas log masuk

Pada masa ini, apabila kita menyusun semula kod itu, kita akan mengelakkan ralat sintaks "fungsi mempunyai tiada nilai pulangan".

Selain menambah nilai pulangan ke fungsi, kami juga boleh menggunakan kata kunci void untuk mentakrifkan fungsi tanpa nilai pulangan. Kata kunci void diperlukan dalam pengisytiharan fungsi dan definisi fungsi. Kod yang diubah suai adalah seperti berikut:

#include  using namespace std; void printMessage() { cout << "Hello World!" << endl; } int main() { printMessage(); return 0; }
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan fungsi printMessage tanpa nilai pulangan untuk mengeluarkan mesej. Perlu diingatkan bahawa tidak perlu menambah pernyataan pulangan dalam badan fungsi kerana fungsi itu sendiri tidak mempunyai nilai pulangan.

Ringkasnya, sama ada anda mentakrifkan fungsi dengan nilai pulangan atau fungsi tanpa nilai pulangan, anda perlu memberi perhatian kepada struktur sintaksnya semasa menulis kod untuk mengelakkan ralat "fungsi tidak mempunyai nilai pulangan".

Atas ialah kandungan terperinci Ralat sintaks C++: fungsi tidak mempunyai nilai pulangan, bagaimana saya harus mengubah suainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!