ต่อไปนี้ ฉันยังไม่ได้กำหนดประเภท doesntexist
void myfunction(doesntexist argument)
{
}
GCC 4.7.2 บอกว่า "error: variable or field ‘myfunction’ declared void
"
คำถามของฉันคือ: คอมไพเลอร์กำลังคิดอะไรที่นี่เพื่ออ้างถึงชื่อฟังก์ชันที่เป็นโมฆะและไม่ใช่ประเภทอาร์กิวเมนต์
[แก้ไข]
ก่อนที่จะลงคะแนน โปรดทราบว่าคำตอบสำหรับปัญหานี้เกี่ยวข้องกับลำดับของข้อผิดพลาดและ -Wfatal-errors
หยุดการพิมพ์ข้อความที่เกี่ยวข้องในทันทีมากกว่า . นี่ไม่ใช่แค่ฉันเท่านั้นที่ต้องอ่านข้อความคอมไพเลอร์ที่คลุมเครือเล็กน้อย
refer to the function name being void and not the argument type?
คอมไพเลอร์ไม่ได้กล่าวไว้ มันรับรู้ว่าmyfunction
ไม่ใช่ฟังก์ชัน แต่เป็นตัวแปร และบอกว่าตัวแปรนี้ประกาศด้วยประเภทvoid
(คุณไม่สามารถมีตัวแปรประเภทvoid
ใน C และ C++ ได้) คอมไพเลอร์บรรทัดถัดไประบุสาเหตุที่แน่ชัดว่าทำไมสิ่งนี้ถึงเกิดขึ้น:‘doesntexist’ was not declared in this scope
- person Ivan Aksamentov - Drop   schedule 13.11.2013error: 'doesntexist' was not declared in this scope
- person NPE   schedule 13.11.2013