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

C2664: Toán tử truyền rõ ràng không truyền như mong đợi

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 23:41:37 28 4
mua khóa gpt4 Nike

lớp kiểm tra của tôi XString Có hai toán tử chuyển đổi. Nhưng trình biên dịch sẽ không fooA Sử dụng chuyển đổi rõ ràng toán tử const wchar_t*(). Tại sao?

lớp XString
{
công cộng:
toán tử const CString&();
toán tử rõ ràng const wchar_t*();
};

void fooA(const wchar_t* s);
void fooB(const CString& s);

kiểm tra khoảng trống()
{
XString x;

CChuỗi c = x;

fooA(x); //Lỗi C2664: 'void fooA(const wchar_t *)': không thể chuyển đổi đối số 1 từ 'XString' thành 'const wchar_t *'

fooB(x); // được
}

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

bởi vì toán tử const wchar_t* Đúngrõ ràng, việc chuyển đổi không được thực hiện ngầm. đây là rõ ràng Ý nghĩa của.

Bạn có thể sử dụng tĩnh_cast Dàn diễn viên:

fooA(static_cast(x));

Về c++ - C2664: Toán tử truyền rõ ràng không truyền như mong đợi, 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/54342325/

28 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