Có cách nào để hạn chế kích thước của mảng khi được chuyển làm đối số cho hàm không?Hạn chế kích thước của một mảng khi được chuyển đến một hàm
Ý tôi là một cái gì đó như thế này có thể?
/*following will lead to compile time error */
template<typename T, size_t n>=20> // or template<typename T,size_t n<=20>
void func(T (&a)[n])
{
// do something with a
}
Tôi muốn kích thước của mảng tối thiểu là (hoặc nhiều nhất) n
(n có thể có bất kỳ giá trị nào).
Ví dụ:
Khi n=20
tôi phải vượt qua một mảng với ít nhất (hoặc ít nhất) 20 yếu tố. Có cách nào trong C + + cho điều này?
Bạn muốn hành vi nào nếu mảng không đúng kích thước? –
@Neil: Lỗi biên dịch. –