Vì vậy, tôi đang sử dụng thư viện C này trong ứng dụng C++ của tôi và một trong các hàm trả về khoảng trống *. Bây giờ tôi không phải là người sắc nét nhất với C thuần khiết, nhưng đã nghe nói rằng một khoảng trống * có thể được truyền tới khá nhiều loại * khác. Tôi cũng biết rằng tôi mong đợi một phao ở cuối một nơi nào đó từ chức năng này.void * nghĩa là nổi, cách truyền?
Vì vậy, tôi bỏ khoảng trống * vào phao * và bỏ qua dấu phẩy *, lỗi. darn !. Tôi gỡ lỗi mã và trong gdb để cho nó đánh giá (float)voidPtr
và thấp và nhìn thấy giá trị là những gì tôi mong đợi và cần!
Nhưng chờ đợi, không thể giống nhau trong thời gian biên dịch. Nếu tôi viết float number = (float)voidPtr;
nó không biên dịch, điều đó là dễ hiểu.
Vì vậy, bây giờ là câu hỏi, làm thế nào để tôi nổi ra khỏi khoảng trống này *?
EDIT: Nhờ H2CO3 điều này đã được giải quyết, nhưng tôi thấy rất nhiều câu trả lời và nhận xét xuất hiện và dissappering không tin rằng tôi có thể làm (float) voidPtr trong gdb. đây là ảnh chụp màn hình.
Tất nhiên, một giải pháp tốt hơn không kết thúc trong một tình huống như thế này để bắt đầu. – delnan
@delnan, vì vậy OP nên bỏ toàn bộ thư viện vì nó sử dụng con trỏ void? –
@CoreyOgburn Không, tôi đang nói về một con trỏ không được hiểu là con trỏ trống. 'void *' là hoàn toàn tốt trong một số trường hợp, nhưng trong trường hợp của OP, một người nào đó hơi say. Có lẽ OP đang sử dụng thư viện sai. – delnan