- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang viết một lớp học cho Arduino. Cho đến nay rất tốt, nhưng bây giờ tôi hơi bế tắc ...
Tôi đã khai báo một mảng int trong lớp của mình
lớp myClass
{
công khai: MyClass(kích thước int);
private:
int _intArray[];
};
Khi tôi khởi tạo lớp MyClass myClass1(5)
, Tôi cần mảng trông như thế này {0,0,0,0,0}.
Câu hỏi của tôi: Tôi cần làm gì để mảng chứa số 0 có "kích thước"?
MyClass::MyClass(kích thước int)
{
// điều gì xảy ra ở đây để khởi tạo mảng một cách linh hoạt
for(int i=0; i < size; i++) _intArray[i] = 0;
}
EDIT: Theo dõi các câu trả lời khác nhau bên dưới, Arduino không bao gồm thư viện tiêu chuẩn, thật không may std::vector
không phải là một lựa chọn
câu trả lời hay nhất
Mã của bạn khi tôi viết điều này:
lớp myClass
{
công khai: MyClass(kích thước int);
private:
int _intArray[];
};
_intArray
Khai báo không hợp lệ C++: mảng nguyên thủy yêu cầu kích thước được chỉ định tại thời điểm biên dịch.
Bạn có thể sử dụng thay thế std::vector
:
lớp myClass
{
public:
MyClass(kích thước int)
: intArray_( size ) // Vector có kích thước cho trước với các phần tử có giá trị bằng 0.
{}
private:
std::vector intArray_;
};
Lưu ý 1: Một số trình biên dịch có thể cho phép mã gốc của bạn dưới dạng phần mở rộng ngôn ngữ để hỗ trợ "hack cấu trúc" (đây là kỹ thuật C và không bắt buộc trong C++).
Lưu ý 2:Tôi đã thay đổi tên thành viên của bạn. Nói chung, dấu gạch dưới ở đầu tên có thể gây ra vấn đề vì chúng có thể xung đột với tên trong quá trình triển khai C++.
chúc mừng,
Về C++/Arduino: mảng int động, 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/4358975/
Tôi đang dịch một chương trình về Truyền tải phễu RFM từ Arduino sang C, nhưng tôi bị mắc kẹt với phương pháp Nối tiếp vì tôi không hiểu rõ nó làm gì. Nó chỉ xuất hiện ở dòng sau trong chương trình chính
Vì vậy, tôi đang viết chức năng nhỏ này cho một số chiếc kim nồi. Cái nồi chỉ gửi một giá trị khi nó quay, khi nó ở trạng thái nghỉ, nó không gửi gì cả. Đó là cách tôi muốn nó hoạt động. Nó hoạt động tốt chỉ với một kim. Tôi đang đi được một nửa chặng đường mà nó hoạt động với nhiều chân. bởi vì
Về cơ bản, tôi đang gặp sự cố với một mảng (được gọi là "đầu vào" thuộc loại "GeneralInput") trên Arduino, cho dù tôi cố truy cập phần tử nào, mã luôn trả về phần tử cuối cùng của mảng. Đây là một phần của mã: //...include
Tôi đang cố gắng sử dụng bộ lập lịch thời gian Arduino. Tôi đã sao chép mã từ đây Tôi đã nhập thư viện nhưng nó không biên dịch được. Đây là mã lỗi biên dịch và chính mã đó: Lỗi: Trong tệp được bao gồm từ time2.ino:1
Tôi đang cố gắng sử dụng bộ lập lịch thời gian Arduino. Tôi đã sao chép mã từ đây Tôi đã nhập thư viện nhưng nó không biên dịch được. Đây là mã lỗi biên dịch và chính mã đó: Lỗi: Trong tệp được bao gồm từ time2.ino:1
Tôi đang viết một lớp học cho Arduino. Cho đến nay rất tốt nhưng bây giờ tôi hơi bế tắc... Tôi đã khai báo một mảng int trong lớp của mình class myClass { public: MyClas
Xin chào, tôi cần tạo một trình kết nối đơn giản. Tôi nghĩ rằng tôi có thể cần tạo một bảng arduino để lấy dữ liệu từ ứng dụng và sau đó chuyển chúng sang thiết bị bên ngoài. Có một thanh trượt trong ứng dụng mà người dùng có thể điều chỉnh. Khi điều chỉnh thanh trượt
Tôi đang phát triển trình ghi nhật ký truy cập người dùng RFID dựa trên Arduino và tôi gặp một số vấn đề khi đọc phản hồi của máy chủ. Thiết lập của tôi như sau: - Arduino được kết nối với đầu đọc thẻ MFRC522 và mô-đun Ethernet ENC28J60
Tôi muốn chuyển đổi char lineOneC[8] = {0,1,1,0,0,0,0,1}; thành byte lineOneB = B01100001; Làm cách nào tôi có thể thực hiện việc này trong C++/Arduino? tối ưu
Tôi đang sử dụng mô-đun Bluetooth HC-06 để điều khiển Arduino Uno của mình và tôi muốn triển khai một chương trình đơn giản có thể bật và tắt đèn LED. Mã- char val void setup() { pinMode(1;
Tôi là một lập trình viên xuất sắc, rất giỏi!