This answer of mine tạo ra một số ý kiến cho rằng các cấu trúc sau đây không phải là quy phạm pháp luật C/C++:Đây có phải là C/C++ hợp pháp không? 'Int * p = (int []) {1,2,3}; `
void f (int* a) ;
f ((int[]){1,2,3,4,0}) ;
(thấy this ideone link cho đầy đủ chương trình). Nhưng chúng tôi không thể giải quyết vấn đề. Ai có thể làm sáng tỏ điều này không? Các tiêu chuẩn khác nhau phải nói gì?
Tôi nghĩ @Nicol Bolas là đúng, người đã nhận xét về bài đăng của bạn. Không phải mọi thứ hoạt động, đều hợp lệ. Điều đó thực sự thường xảy ra. Tôi sẽ nói đoạn trích trong nhận xét của bạn dẫn đến 'hành vi không xác định'. Vì vậy, nếu bạn muốn chứng minh anh ta là hợp pháp, bạn phải lấy ra/tìm kiếm trong tiêu chuẩn c/C++/C++ 11. – poitroae
@Michael: Tôi không muốn chứng minh nó là hợp pháp, tôi chỉ muốn biết liệu nó có hợp pháp hay không. Các ý kiến cho bài viết của tôi (bao gồm cả ý kiến của tôi) chỉ là ý kiến. – TonyK
Tại sao hành vi không xác định? –