cuốn sách gpt4 ai đã làm

Lỗi C 11: 'X' không được khai báo trong phạm vi này

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 08:27:14 29 4
mua khóa gpt4 Nike

Tôi nhận được lỗi sau trong mã của mình, tôi không hiểu tại sao vì "socketfd" được khai báo trong client.hpp và được sử dụng trong hàm tạo trong client.cpp, nhưng khi tôi thử sử dụng nó sau này thì tôi gặp lỗi.

Đầu ra thiết bị đầu cuối:

g++ client.cpp -o client.o -pthread -c -std=c++11
client.cpp: Trong hàm 'void sendMessage(std::string)':
client.cpp:37:23: error: 'socketfd' không được khai báo trong phạm vi này

client.hpp

#include 
#include
#include
#include

lớp Khách hàng {

public:
Khách hàng();
~Khách hàng();
void sendMessage(std::string);

private:
trạng thái int, socketfd;
cấu trúc addrinfo Host_info;
struct addrinfo *host_info_list;

};

client.cpp

#include "client.hpp"


Khách hàng::Khách hàng() {
memset(&host_info, 0, sizeof Host_info);
std::cout << "Thiết lập cấu trúc..." << std::endl;
Host_info.ai_family = AF_UNSPEC;
Host_info.ai_socktype = SOCK_STREAM;
trạng thái = getaddrinfo("192.168.1.3", "8888", &host_info, &host_info_list);
nếu (trạng thái != 0) {
std::cout << "lỗi getaddrinfo" << gai_strerror(trạng thái);
}

std::cout << "Tạo ổ cắm..." << std::endl;
socketfd = socket(host_info_list->ai_family, Host_info_list->ai_socktype, Host_info_list->ai_protocol);
nếu (socketfd == -1) {
std::cout << "Lỗi ổ cắm";
}
std::cout << "Đang kết nối..." << std::endl;
trạng thái = kết nối (socketfd, Host_info_list->ai_addr, Host_info_list->ai_addrlen);
nếu (trạng thái == -1) {
std::cout << "Lỗi kết nối" << std::endl;
}
std::cout << "Đã kết nối thành công" << std::endl;
}

Khách hàng::~Khách hàng() {

}

void sendMessage(std::string msg) {
std::cout << "Đang gửi tin nhắn: " << msg << std::endl;
int len;
ssize_t byte_sent;
len = strlen(msg.c_str());
byte_sent = send(socketfd, msg.c_str(), len, 0);
}

Đây là C++ đầu tiên tôi thực hiện và tôi hơi bối rối không hiểu tại sao tôi lại gặp phải lỗi này.

câu trả lời hay nhất

您在 gửiMessage() mất tích trước đó Khách hàng:::

void Client::sendMessage(std::string msg) {
^^ ^^ ^^ ^^

Về lỗi c++ - C 11: 'X' không được khai báo trong phạm vi này, 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/15455156/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress