Trả lời những vấn thường gặp trong C++

756

Trong hướng dẫn này tôi sẽ trả lời những câu hỏi thường gặp trong quá trình học lập trình C++. Nếu còn câu hỏi nào các bạn hãy góp ý bên dưới, chúng tôi sẽ giải đáp nhanh nhất nhé.

Vấn đề 1:

Khi thực hiện một chương trình từ IDE, nhấp nháy giao diện điều khiển cửa sổ và sau đó đóng lại ngay lập tức.

Trả lời 1: Một số trình biên dịch (. Ví dụ như đổ máu của Dev C ++) không tự động tạm dừng màn hình giao diện điều khiển sau khi chương trình kết thúc thực hiện. Nếu đây là trường hợp với trình biên dịch của bạn, hai bước sau đây sẽ khắc phục vấn đề của bạn:

Đầu tiên, hãy thêm dòng sau gần đầu chương trình của bạn:

#include <iostream>

Thứ hai, thêm đoạn mã sau vào cuối của () chức năng chính (ngay trước khi tuyên bố trở về):

std::cin.clear(); // reset any error flags
std::cin.ignore(32767, ‘\n’); // ignore any characters in the input buffer until we find an enter character
std::cin.get(); // get one more char from the user

Điều này sẽ gây ra chương trình của bạn để chờ đợi cho bạn để nhấn một phím trước khi tiếp tục, mà sẽ cung cấp cho bạn thời gian để kiểm tra đầu ra của chương trình của bạn trước khi biên dịch của bạn đóng cửa sổ giao diện điều khiển.

Các giải pháp khác, chẳng hạn như thường đề nghị hệ thống ( “pause”) giải pháp duy nhất có thể làm việc trên các hệ điều hành nhất định và cần phải tránh.

Lưu ý: Visual Studio sẽ không dừng lại ở phần cuối của một ứng dụng giao diện điều khiển nếu nó được chạy với lỗi (Debug Menu-> Start Debugging). Nếu bạn muốn nó dừng lại, bạn có thể sử dụng các giải pháp mã trên, hoặc chạy chương trình của bạn mà không cần gỡ lỗi (Debug Menu-> Start Without Debugging).

Vấn đề 2:

Khi biên dịch với Microsoft Visual C ++, bạn nhận được lỗi sau: “c: vcprojectstest.cpp (263): Lỗi chết người C1010: kết thúc tập tin bất ngờ trong khi tìm kiếm chỉ tiêu đề biên dịch sẵn”

Trả lời 2: Lỗi này xảy ra khi Microsoft Visual C ++ được thiết lập để sử dụng tiêu đề biên dịch sẵn nhưng một (hoặc nhiều hơn) của C tập tin mã của bạn ++ không bao gồm tiêu đề stdafx như dòng đầu tiên. Để khắc phục vấn đề này, chỉ cần xác định vị trí các tập tin (s) sinh ra lỗi (trong các lỗi trên, test.cpp là thủ phạm), và thêm dòng sau vào phần trên của file (s):

#include “stdafx.h”

Lưu ý rằng đối với các chương trình với nhiều file, mỗi C ++ mã tập tin cần để bắt đầu với dòng này.

Ngoài ra, bạn có thể tắt tiêu đề biên dịch sẵn.

Vấn đề 3: Khi cố gắng để sử dụng cin, cout, hoặc endl, trình biên dịch nói cin, cout, hoặc endl là một “định không khai báo”

Trả lời 3: Trước tiên, hãy chắc chắn rằng bạn đã bao gồm các dòng sau gần đầu của tập tin của bạn:

#include <iostream>

Thứ hai, đảm bảo cin, cout và endl được bắt đầu bằng “std ::”. Ví dụ:

std::cout << “Hello world!” << std::endl;

Vấn đề 4: Khi cố gắng để sử dụng endl để kết thúc một dòng in, trình biên dịch nói END1 là một “định không khai báo”

Trả lời 4: Hãy chắc chắn rằng bạn không nhầm lẫn các chữ cái l (thấp hơn trường hợp L) trong endl cho số 1. endl là tất cả các chữ cái. Tôi khuyên bạn nên sử dụng một phông chữ mà làm cho nó rõ ràng sự khác biệt giữa các chữ thường L, trường hợp trên tôi, và số 1. Ngoài ra o vốn chữ cái và con số không thể dễ dàng bị nhầm lẫn trong nhiều phông chữ không lập trình.

Vấn đề 5: Chương trình của tôi biên dịch, nhưng nó không làm việc một cách chính xác. Tôi làm gì?

Trả lời 5: gỡ lỗi nó! Bạn có thể tìm thấy thông tin về làm thế nào để gỡ lỗi chương trình trong bài 1, cụ thể phần 1.11 – Gỡ rối chương trình của bạn (bước và breakpoint) và 1.11a – Gỡ rối chương trình của bạn (xem các biến và các cuộc gọi stack) .

 

BÌNH LUẬN

Please enter your comment!
Please enter your name here