मैं इस पृष्ठ पर उदाहरण निम्नलिखित कोशिश कर रहा हूँ:बूस्ट :: error_info सही तरीके से उपयोग कैसे करें?
http://www.boost.org/doc/libs/1_40_0/libs/exception/doc/motivation.html
मिनट मैं निम्न पंक्ति का प्रयास करें:
error C2440: '<function-style-cast>' : cannot convert from 'int' to 'errno_code'
:
throw file_read_error() << errno_code(errno);
मैं कोई त्रुटि मिलती है मैं इससे कैसे काम लूं??
आदर्श रूप में मैं कुछ इस तरह बनाना चाहते हैं:
typedef boost::error_info<struct tag_HRESULTErrorInfo, HRESULT> HRESULTErrorInfo;
लेकिन मैं भी पहले उदाहरण काम करने के लिए नहीं मिल सकता है।
संपादित करें: यहाँ क्या मेरे लिए त्रुटि C2440 उत्पन्न करता है की एक संक्षिप्त उदाहरण है:
struct exception_base: virtual std::exception, virtual boost::exception { };
struct io_error: virtual exception_base { };
struct file_read_error: virtual io_error { };
typedef boost::error_info<struct tag_errno_code,int> errno_code;
void foo()
{
// error C2440: '<function-style-cast>' : cannot convert from 'int' to 'errno_code'
throw file_read_error() << errno_code(errno);
}
क्या आप एक पूर्ण न्यूनतम उदाहरण पोस्ट कर सकते हैं जिसे आप C2440 त्रुटि प्राप्त करते समय संकलित करने का प्रयास कर रहे हैं? –
लिंक पर उदाहरण देखें। मैं 'throw file_open_error() फेंक नहीं सकता << errno_code (errno); 'काम करने के लिए। –
एक उदाहरण जोड़ा गया। –