ใน C: ฟังก์ชันที่ประกาศ `void func()` รับ argument ได้กี่ตัวก็ได้ (implicit int, variadic)
ใน C++: `void func()` หมายถึงไม่มีพารามิเตอร์เลย (เทียบเท่า `void func(void)`)
ตัวอย่าง
void method() { printf("called\n"); }
int main() {
method(); // OK ในทั้ง C และ C++
method(2); // C: OK, C++: Error "too many arguments"
}
เหตุผล
- C: `func()` = unspecified parameters (K&R style)
- C++: `func()` = no parameters (strict typing)
- ใน C ให้ใช้ `void func(void)` เพื่อระบุชัดเจนว่าไม่มีพารามิเตอร์