Lỗi EXCEPTION UNHANDLED

code e như thế này

#include<iostream>
#include<string>
#include<math.h>
using namespace std;

double pow(double x, double y)
{
	double z = pow(x, y);
	cout << z;
	return z;
}

int main()
{
	cout << pow(2, 3);
	system("pause");
	return 0;
}

thi lại bị bao lỗi ở chỗ

double pow(double x, double y)
{

Unhandled exception at 0x00231930 in main.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x00102FFC).

@@ kiếm trên mạng quá trời mà k ra cách sửa

Đệ quy và tràn stack.

Tại sao em muốn gọi hàm pow trong chính nó ?

Có thể em đang muốn dùng pow của math nhưng vô tình đã đặt tên hàm trùng tên khiến cho nó xảy ra đệ quy.
Cách sửa là đổi tên hàm pow của em hoặc thêm dấu :: vào trước hàm pow bên trong để nó hiểu là gọi pow của math.

6 Likes

thanks a nhiều :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?