Kìa sự điên rồ này:
enum WhatArduinoIs {
Easy, But, Insane, Obsolete, And, Far, Worse, Than, mBed
};
void TellMe(WhatArduinoIs pls) { }
void setup() { }
void loop() { }
Tôi khá giỏi về C ++, vì vậy tôi khá chắc chắn rằng nên biên dịch. Tuy nhiên tôi nhận được lỗi này:
sketch_jan21b.ino:3:13: error: variable or field 'TellMe' declared void
sketch_jan21b.ino:3:13: error: 'WhatArduinoIs' was not declared in this scope
Error compiling.
Tôi đã gặp phải xu hướng của Arduino "IDE" đối với việc sửa đổi các chương trình điên rồ và hoàn toàn không linh hoạt trước đây. Cụ thể khi bạn #include
thư viện Arduino chỉ thêm một cách kỳ diệu các tệp C ++ có liên quan nếu đó #include
là trong bản phác thảo chính của bạn. #include <LiquidCrystal.h>
trong tập tin C ++ khác? Liên kết lỗi.
Tôi nghi ngờ trong trường hợp này là Arduino đang cố gắng thêm các khai báo hàm vào đầu tập tin để thứ tự của chúng không thành vấn đề. Tức là nó biến tập tin thành thế này:
void TellMe(WhatArduinoIs pls);
enum WhatArduinoIs {
Easy, But, Insane, Obsolete, And, Far, Worse, Than, mBed
};
void TellMe(WhatArduinoIs pls) { }
void setup() { }
void loop() { }
Điều đó rõ ràng không hoạt động. Làm thế nào tôi có thể nói với Arduino để rời khỏi chương trình chết tiệt của tôi một mình?