Tôi muốn vượt qua NULL đến param thứ 4 của hàm sau:Làm cách nào để truyền NULL vào tham số hàm va_list?
bool CCMenuItemToggle :: initWithTarget (CCObject * mục tiêu, SEL_MenuHandler selector, CCMenuItem * mục, args va_list);
như thế này:
CCMenuItemToggle::initWithTarget(this, menu_selector(GOSound::toggleButtonCallback), NULL, NULL);
Đó là ok khi tôi xây dựng nó trong XCode (clang3.1). Nhưng khi tôi cổng mã để ndk android (g ++ 4.7), nó thất bại trong việc biên dịch:
no viable conversion from 'int' to 'va_list' (aka '__builtin_va_list')
Làm thế nào tôi nên đối phó với nó?
Tôi chỉ nhận thấy rằng tôi đã thử nghiệm giải pháp của bạn với ndk (clang3.1). Khi tôi chuyển trở lại ndk (g ++ 4.7), nó báo cáo lỗi: 'lỗi trình biên dịch nội bộ: trong build_zero_init_1, tại cp/init.c: 280' – smilingpoplar
Tôi không nghĩ rằng tôi chịu trách nhiệm về điều đó. Câu trả lời vẫn chính xác. Trình biên dịch bị hỏng. Có lẽ nó giúp khai báo một biến befor các cuộc gọi và vượt qua biến. Xem chỉnh sửa ở trên. – Thomas
Cool, workaround sau này hoạt động cho cả hai trình biên dịch. : D – smilingpoplar