Tôi đã cố gắng xác thực các tùy chọn đã chuyển của mình bằng tăng :: program_options. Lệnh của tôi có một số chế độ, mỗi chế độ có tham số liên quan có thể được chỉ định. Những gì tôi đang cố gắng làm là đảm bảo các params liên quan được thông qua với các chế độ, ví dụ:Tùy chọn chương trình tăng với giá trị mặc định luôn xuất hiện khi sử dụng vm.count()
unicorn --fly --magic-wings-threshold
đâu --fly
là chế độ và --magic-wings-threshold
là một param liên quan. Điều tôi đã nhận thấy là nếu --magic-wings-threshold
có giá trị mặc định, ví dụ:
("magic-wings-threshold,w", po::value<double>(&wings_thresh)->default_value(0.8, "0.8"),
"Magic wings maximum power"
)
sau đó tôi không thể sử dụng
if (vm.count("magic-wings-threshold")({
// do stuff
}
để phát hiện nếu người dùng thông qua param đó.
Có vẻ như thông số giá trị mặc định luôn được chuyển và phát hiện trong vm.count()
. Có ai biết giải pháp thay thế hay không?
Tất cả những kỳ lân mà tôi quen thuộc không y và không có cánh. Có lẽ bạn đang nghĩ đến Pegasus? – flies