<![CDATA[Latest posts for the topic "C++ - Function chỉ nhận giá trị đầu tiên của mảng được truyền vào"]]> /hvaonline/posts/list/23.html JForum - http://www.jforum.net C++ - Function chỉ nhận giá trị đầu tiên của mảng được truyền vào Code:
void Player::handleRequest(unsigned char* buf, int len){
	try{
		short header;
		header = buf[2] + buf[3]*0x100;
		printf("HANDLER [%x] Player: %s (%d,%d)\n",header,this->getName(),this->getRegionId(),this->getMapId());
		handler->handle(PacketReader(buf, len, id));
	}
#ifdef DEBUG
	catch(PacketHandlingError ph){
		cout << ph.getError();
	}
	catch (BadQuery er ) {
		printf("%s\n", er.what());
	}
#endif
	catch(...){
		//TODO
	}
}
Còn đây là đoạn code gọi function trên: Code:
bytesInBuffer += l;
		if (bytesInBuffer == packetSize){
			[B][COLOR="#FF0000"]player->handleRequest(buffer, packetSize);[/COLOR][/B]
			bytesInBuffer = 0;
		}
khai báo biến buffer: Code:
private:
	unsigned char buffer[BUFFER_LEN];
Ở đoạn gọi function handleRequest, biến buffer khi chạy là 1 mảng có 29 giá trị nhưng khi mình debug vào function handleRequest thì biến buf chỉ nhận giá trị đầu tiên trong mảng buffer khi truyền vào Các bác chỉ dùm mình xem mình sai ở đoạn nào với :( ]]>
/hvaonline/posts/list/45593.html#280421 /hvaonline/posts/list/45593.html#280421 GMT
C++ - Function chỉ nhận giá trị đầu tiên của mảng được truyền vào /hvaonline/posts/list/45593.html#280450 /hvaonline/posts/list/45593.html#280450 GMT C++ - Function chỉ nhận giá trị đầu tiên của mảng được truyền vào /hvaonline/posts/list/45593.html#280560 /hvaonline/posts/list/45593.html#280560 GMT