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

c++ - "#define bool bool"当我悬停 bool 时说 QtCreator - 我将其跟踪到 boost::asio

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 01:51:48 27 4
mua khóa gpt4 Nike

tôi nhận thấy boolĐánh dấu trong QtCreator bằng màu khác với các loại khác:

mô tả hình ảnh

Điều này chỉ xảy ra khi bao gồm một số tiêu đề nhất định và cuối cùng tôi đã truy tìm nó Trình kiểm tra mã của QtCreator dường như không thể theo dõi các định nghĩa theo cách thủ công. Phiên bản boost tôi đang sử dụng là Boost 1.59.

Có mục đích gì để làm điều này? Tôi thực sự không bận tâm, nhưng thật lạ khi định nghĩa bất cứ điều gì cho cùng một thứ, hơn là bool .

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

Chà, tôi đã tìm kiếm mã Boost 1.59 để xem liệu tôi có thể tìm thấy không:#xác định bool boolhoặc #include Nhưng cuối cùng tôi đã không tìm thấy chúng, vì vậy nó có thể nằm trong những tập tin đó, nhưng rất có thể là ở một nơi nào khác.


Có mục đích gì cho việc đó không? Tôi thực sự không bận tâm nhưng thật kỳ lạ khi định nghĩa bất cứ điều gì cho cùng một thứ, hơn là một bool.

Hãy tưởng tượng mã có chứa những điều sau đây:

#define bool int
// Dòng tiếp theo sẽ thay đổi định nghĩa trước đó
#xác định bool bool

Sau đó có:

#ifndef bool
#elif bool
#endif
// vân vân..

Đây sẽ là một cách rất xấu khi cố gắng chuyển một chương trình C (vì việc xác định lại từ khóa không được phép trong C++).


Điều này có thể đến từ việc đưa vào stdbool.h. có chứa nội dung chính xác này ( ít nhất là trên clang ). Cá nhân tôi nghĩ đây là lỗi trong ide/highlighter/parser hoặc tệp chứa tiêu đề/mã này.

Nếu bạn không nhận được cảnh báo trong các cài đặt này, có thể mã này không thực sự được sử dụng mà chỉ phân tích lỗi:

Không chắc chắn GCC -Wall dường như không nhận thấy điều đó.

Về c++ - "#define bool bool" QtCreator nói khi tôi di chuột bool - Tôi đã truy tìm nó để boost::asio và 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/35038583/

27 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