cuốn sách gpt4 ai đã làm

c++ - giá trị hằng làm tham số mẫu

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 22:45:27 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi vừa gặp lỗi biên dịch với gcc và clang, vì vậy tôi nghĩ mã này không thể thực hiện được:

mẫu 
Kiểu cấu trúc {

sử dụng loại = T;
};

mẫu < kích thước int = 1024 >
cấu trúc Foo {};

constexpr auto test_ = [] (const int size) {

Kiểu trả về<>>;
};

Lỗi biên dịch:

test.cpp:12:19: error: đối số mẫu không phải kiểu không phải là biểu thức hằng
Kiểu trả về<>>;
^
1 lỗi được tạo ra.

Câu hỏi đặt ra là tại sao? kích cỡ là giá trị hằng và phải phù hợp làm tham số mẫu, phải không? Tôi đã sử dụng một số giá trị hằng số tĩnh làm tham số mẫu nhưng điều này dường như không được hỗ trợ.

câu trả lời hay nhất

kích cỡ là một giá trị hằng và có thể khớp với tham số mẫu không?

KHÔNG,hằng sốGiá trị không nhất thiết phải được biết tại thời điểm biên dịch(tức là họ khôngbiểu thức hằng).

điều bạn muốn là std::integral_constant :

constexpr auto test_ = [] (kích thước tự động) 
{
kiểu trả về<>>{};
};

test_(std::integral_constant{});

BẰNGRakete1111Đã đề cập trong phần bình luận, OK Kiểu trả về<>>;Cũng bệnh lý - bạn có thể muốn khởi tạo nó giống như tôi đã làm ở trên.

Về giá trị c++ - const làm tham số mẫu, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43659475/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress