Tôi muốn tạo trong lớp dự án "Màn hình", "Đồ họa", "Phông chữ" và "Môi trường", nhưng khi tôi nhập các tên này và nhấn enter, tôi nhận được thông báo: "Màn hình" được đặt trước tên lớp hoặc "Môi trường" là tên lớp dành riêng. Tôi không muốn làm cho CScreen hoặc ScreenC hoặc một cái gì đó như thế:/Tôi có Visual Stuido 2010. Có cách nào để sửa lỗi này?Tên lớp dành riêng Visual C++
Trả lời
Bạn cần hoàn toàn không phải #include
các lớp này vào dự án của bạn hoặc tạo không gian tên cho các lớp của bạn và sau đó sử dụng không gian tên đó khi bạn cần giải quyết.
Nếu bạn muốn người lập trình khác sử dụng mã của bạn, họ có thể nhầm lẫn rằng bạn đang sử dụng lại tên của các lớp mà họ đã biết, vì vậy sẽ tốt hơn nếu bạn tìm ra tiền tố cho lớp học của bạn .
Tôi nghĩ việc sử dụng không gian tên là câu trả lời.
Bạn có ý gì khi "Tôi nhập những tên này và nhấn enter"? Đây có phải là thông báo Lớp Wizard không? Trong trường hợp này, bạn chỉ cần tạo các tệp h và cpp theo cách thủ công. Tôi không biết bất kỳ tính năng C++ nào không cho phép sử dụng các tên này cho một lớp. Tất nhiên, trong trường hợp va chạm tên, hãy sử dụng không gian tên.
Tôi tìm giải pháp: Tôi có thể thêm riêng Graphics.cpp và Graphics.h, Environment.cpp và ..vv:/Nhưng tôi vẫn không biết tại sao tôi không thể sử dụng "thêm lớp":/
Bạn thực sự cần nghiên cứu các không gian tên, chúng là câu trả lời. – JustBoo
Tại sao không gian tên? Xem http://img814.imageshack.us/i/screenshotec.png/ Tôi chưa viết bất kỳ mã nào trong các tệp này. – PiTeReK
Tôi tin rằng bản thân IDE đang ngăn bạn sử dụng những tên đó. Ngay bây giờ nó có thể không có vẻ quan trọng, nhưng trong "công ty" dự án tên tập tin có một cách không bao giờ "chết" và tuyên truyền. Bạn sống với họ "mãi mãi". Những gì chúng tôi đặt tên cho mọi thứ không quan trọng. – JustBoo
Đây là lỗi trong Visual Studio. Có một số tên mà sản phẩm của VS 2010 của Microsoft tin tưởng được bảo lưu, bởi vì các sản phẩm khác của Microsoft sử dụng tên đó. Tuy nhiên, bạn rõ ràng không bị buộc phải sử dụng các sản phẩm khác của Microsoft và vì đây không phải là các tên được đặt trước của C++, đây là lỗi và cần được sửa. Nó chỉ nên báo cáo điều này là xung đột tên khi bạn bao gồm một cái gì đó đã sử dụng tên. Tôi cũng đã thấy trình biên dịch làm điều này cho "Module" trên một dự án C++ thuần túy (không có MFC, ATL, vv).
Trong thời gian chờ đợi, hãy sử dụng tùy chọn Thêm mục mới và tạo tiêu đề và triển khai bằng tay. Những người khác đã đề cập rằng tên là quan trọng, điều đó đúng, nhưng tôi không thể hiểu tại sao họ sẽ sử dụng nó để ngăn cản bạn sử dụng các tên như Màn hình, Đồ họa, Phông chữ, v.v. . Chắc chắn không cố che khuất ý nghĩa bằng cách tra cứu các từ không phổ biến trong từ điển. Ngoài ra, đừng cố gắng thêm tiền tố vào tên lớp của bạn - không gian tên là công cụ thích hợp khi bạn tạo thư viện sẽ được người khác sử dụng lại. Tiền tố là công cụ cũ được sử dụng 15 năm trước khi các không gian tên chưa được thêm vào ngôn ngữ.
Như những người khác đã đề cập, đây là Visual Studio ngăn bạn sử dụng tên, vì không có lý do chính đáng.
Cách dễ nhất để có được khắc phục hạn chế này, trong khi vẫn sử dụng "Add -> Class ..." thoại là
- Loại một tên hơi khác nhau lớp trong "Tên nhóm:" hộp (nói "Screen_" thay vì "Screen")
- Chỉnh sửa tên tệp theo cách thủ công trong ".h tệp:" và ".cpp tệp:" trong hộp thoại sao cho chúng là Screen.h và Screen.cpp
- Nhấp vào "Hoàn tất" để tạo tệp lớp học (tên tệp sẽ chính xác, nhưng lớp thực tế sẽ là Screen_)
- Chỉnh sửa theo cách thủ công nó là văn bản trong các tệp, để thay đổi "Screen_" thành "Screen"
- 1. Từ dành riêng trong tên cột - chèn vào MySQL
- 2. Dành riêng iOS UTI
- 3. từ dành riêng không công khai?
- 4. Lớp riêng tư trong không gian tên
- 5. Bộ nhớ cache dành riêng
- 6. Mỗi lớp có không gian tên riêng không?
- 7. Có phải là từ khóa dành riêng không?
- 8. Các từ dành riêng cho Javascript?
- 9. Các nút dành riêng cho Hazelcast
- 10. truy cập Net lĩnh vực từ F # khi tên trường là một từ khóa dành riêng
- 11. Các từ dành riêng trong Java
- 12. Từ khóa dành riêng - Ẩn? JNLP
- 13. Tên tệp dành riêng cho các nền tảng khác nhau là gì?
- 14. sử dụng các từ dành riêng làm tên thuộc tính, được xem lại
- 15. Có thể sử dụng các từ dành riêng cho tên trường không?
- 16. Podcast dành riêng cho người mới bắt đầu PHP
- 17. Tất cả các từ dành riêng cho mỗi DBMS
- 18. Ánh xạ cột NHibernate thông thạo với từ dành riêng
- 19. Có bất kỳ từ dành riêng nào trong SQLite không?
- 20. Lớp UIDevice dành cho Mac OS X?
- 21. Tên và lớp bên trong C++
- 22. Điều gì có thể xảy ra khi ném một ngoại lệ dành riêng trong C#?
- 23. Chức năng lớp riêng vs Chức năng trong không gian tên chưa đặt tên
- 24. Tên riêng "mang tên" mangling và thuộc tính lớp học vs
- 25. Tên lớp không đặt tên loại trong C++
- 26. Lấy một tên lớp C++ theo lập trình
- 27. Màu cú pháp của các kiểu riêng trong Visual Studio (C++)
- 28. C++ Cấu trúc riêng
- 29. Danh sách các từ dành riêng trong JavaScript
- 30. Danh sách các từ dành riêng trong đường ray * 3 *
Visual Studio 8 cho phép nó, vì vậy có thể quay trở lại VC8 có thể là một lựa chọn !! – DumbCoder
Nhập mã của bạn thay vì sử dụng thuật sĩ. Hoặc sử dụng từ điển đồng nghĩa. –
Bạn đã tạo loại dự án nào? Bạn đã cố gắng tạo ra những lớp đó như thế nào? Không ai trong số những cái tên được dành riêng trong việc thực hiện C++ của VS2010. – jalf