- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如果每个 header 都使用 #ifndef
,这是否意味着关于循环依赖的编译器错误不会发生?
câu trả lời hay nhất
不,它没有。
这意味着编译器不会尝试包含无穷大的 header ,但是循环依赖仍然会带来逻辑问题,因为编译是从上到下执行的。让我们来看看原因:
#ifndef A_H
#define A_H
#include "b.h"
struct A
{
B* ptr;
};
#kết thúc nếu
#ifndef B_H
#define B_H
#include "a.h"
struct B
{
A* ptr;
};
#kết thúc nếu
#include "a.h"
int chính()
{
Một là;
}
include guards 使我们能够实际运行预处理器并让它在小于无穷大的时间内完成工作;如此之快,实际上,我已经在下面手工完成了。结果是:
struct B
{
A* ptr;
};
struct A
{
B* ptr;
};
int chính()
{
Một là;
}
B
的定义在MỘT
的定义之前,所以A* ptr;
无法理解。当然,你可以解决这个问题,但只能通过颠倒包含的顺序,然后你就会遇到相反的问题。前向声明和/或重新架构是解决它的唯一方法。
header guards 解决了一个不同的问题。它们不允许你随心所欲。
关于c++ - #ifndef 是否可以防止循环引用编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21167858/
Tôi đã sử dụng vue-cli được hai tuần và mọi thứ vẫn hoạt động tốt cho đến hôm nay. Tôi xây dựng dự án này tại địa phương. https://drive.google.com/open?id=0BwGw1zyyKjW7S3RYWXRaX24tQ
Xin chào, tôi đang cố gắng trích xuất văn bản từ một hình ảnh bằng thư viện python pytesseract. Vui lòng tìm mã: từ hình ảnh nhập PIL từ hình ảnh nhập pytesseract_
Lỗi của tôi /usr/bin/ld: errno: Định nghĩa TLS trong phần /lib/libc.so.6 .tbss không khớp với tham chiếu không phải TLS
Tôi đã đào tạo một mô hình và đang cố gắng sử dụng chức năng dự đoán nhưng nó trả về lỗi sau. Lỗi tương phản<-(*tmp*, value = contr.funs[1 + isOF[nn]])
Dựa trên thông tin từ Microsoft DataConnectors, tôi muốn tạo trình kết nối từ PowerBi sang PostgreSQL bằng truy vấn trực tiếp thông qua trình điều khiển ODBC này. Tôi đã sử dụng lại Micros
Tôi đã tạo một gói cho SoundQuản lý, có một lớp mở rộng MediaPlayer. Tôi muốn kiểm soát biến này trên toàn cầu. Đây là mã của tôi: gói soundmanagement;
Tôi đã triển khai một ứng dụng trên Heroku. Tôi đang sử dụng một dịch vụ miễn phí. Tôi tiếp tục nhận được thông báo lỗi sau. PG::Error: LỖI: hết bộ nhớ Nếu bạn làm mới trình duyệt, nó sẽ hoạt động. Nhưng sau đó, nó lại xảy ra ngẫu nhiên
Tôi đang chạy máy chủ LAMP và .htaccess này đang gây ra lỗi 500. Chức năng của nó là lọc từ khóa và chuyển hướng đến tên miền tương ứng. Tùy chọn +Theo dõiSymLinks RewriteEngine
Tôi có hai ổ A và B. Sử dụng tập lệnh python, tôi tạo một số tệp trong ổ "A" và chạy tập lệnh powerscript sao chép tất cả các tệp trong ổ A sang ổ B trong khoảng thời gian 1 giây. tôi mạnh mẽ
Hàm sau luôn trả về thông báo lỗi này. Tôi nghĩ có thể loại trường double_precision đã gây ra sự cố này, tôi đã thử sử dụng CAST nhưng không phải như vậy hoặc tôi làm không đúng... Trợ giúp? Đây là lỗi: LỖI: i
Câu hỏi này đã có câu trả lời: Lỗi cú pháp do sử dụng từ dành riêng làm tên bảng hoặc cột trong MySQL (1 câu trả lời) Đã đóng
Tôi gặp vấn đề nhỏ này với cơ sở dữ liệu của mình. Tôi đã tạo một bảng "articoli" chứa nhãn hiệu, kiểu dáng và giá của một mặt hàng. Mỗi bài viết được xác định bởi một id (ID_ARTICOLO)`, đây là trường tăng tự động. Được rồi, bây giờ khi tôi cố gắng chèn
Tôi là người mới ở đây. Tôi hiện đang học lập trình C++ trung cấp trực tuyến tại DeVry. Chúng tôi đang sử dụng cuốn sách C++ Primer Plus và cho đến nay tôi vẫn ổn. Giáo viên của tôi gần đây đã ném cho chúng tôi một quả bóng cong. Nhiệm vụ hiện tại của tôi là thế này:
Câu hỏi này đã có câu trả lời ở đây: Lỗi tham chiếu không xác định/biểu tượng bên ngoài chưa được giải quyết là gì và làm cách nào để khắc phục nó?
Có vấn đề với một đoạn mã trong trang web của tôi; lỗi này chỉ xảy ra trong Internet Explorer 7. Thay vì đăng tất cả đánh dấu HTML/CSS của tôi ở đây, tôi đã đăng một phiên bản của trang web ở đây. Như bạn có thể thấy, tôi có.
Tôi gặp một số vấn đề khi sử dụng npm trên Raspberry Pi khi cố gắng xây dựng ứng dụng node.js trên thiết bị USB. pack.json trông như thế này: { "name" : "node-todo",
Trong Python, bạn có None singleton hoạt động kỳ lạ trong một số trường hợp: >>> a = None >>> type(a) >>> isinstance(a,None) Traceback (most
Đây là tệp build.gradle (Mô-đun: ứng dụng) của tôi: áp dụng plugin: 'com.android.application' android { biên dịchSdkV
Tôi mới sử dụng Android, dự án của tôi vừa được biên dịch và chạy tốt, nhưng sau khi tôi cố gắng triển khai điều hướng ngăn kéo, tôi nhận được lỗi này FAILURE: Build failed with anException.
Có ai có thể giải thích được không? Tôi nghĩ mình đang làm điều gì đó thực sự ngu ngốc và đang háo hức chờ đợi sự giác ngộ. Tôi nhận được kết quả này: phpversion() == 7.2.25-1+0~20191128.32+debian8~1.gbp108
Tôi là một lập trình viên xuất sắc, rất giỏi!