Lỗi: Tham chiếu không xác định đến Pow trong C++

Loi Tham Chieu Khong Xac Dinh Den Pow Trong C



Khi làm việc trong các ngôn ngữ lập trình, chúng phải chứa các thư viện, hàm, cú pháp, v.v. Vì vậy, có khả năng xảy ra lỗi trong các chương trình của chúng ta. Có nhiều loại lỗi khác nhau trong lập trình C++. Ở đây, chúng ta sẽ thảo luận về lỗi “không xác định tham chiếu đến pow” trong lập trình C++. Đôi khi, nó xuất hiện dưới dạng “pow không được khai báo trong phạm vi này” và cả hai đều có cùng một ý nghĩa. Lỗi này xảy ra khi chúng tôi không thêm tệp tiêu đề vào mã C++ hoặc chúng tôi có thể biên dịch mã không chính xác. Chúng tôi cũng sẽ khám phá các tệp tiêu đề hỗ trợ loại bỏ lỗi đó khỏi mã C++ của chúng tôi.

Giải quyết tham chiếu không xác định cho Pow trong C++

Khi xử lý thông báo lỗi này, chúng tôi chỉ cần thêm tệp tiêu đề vào mã trong đó hàm “pow()” được khai báo. Điều này loại bỏ lỗi khỏi mã của chúng tôi. Các tệp tiêu đề được sử dụng cho hàm “pow()” là:

  • #include tệp tiêu đề
  • #include tệp tiêu đề
  • #include tệp tiêu đề

Dưới đây là một số mã sẽ cho biết lỗi này xảy ra như thế nào và cách khắc phục lỗi này trong lập trình C++.







Ví dụ 1:

Trong ví dụ đầu tiên, chúng tôi thêm tệp tiêu đề “#include ” để hỗ trợ thực hiện các tác vụ đầu vào và đầu ra. Sau đó, chúng ta phải viết “using namespace std” sau tiêu đề này. Điều này hỗ trợ ngăn chặn sự nhầm lẫn có thể phát sinh từ hai ID có cùng tên.



Sau đó, chúng ta gọi hàm “int main()” ở đây, hàm này được sử dụng để xác định phần bắt đầu của mã C++. Bây giờ, trong chức năng này, chúng tôi sử dụng câu lệnh “cout<<” để hỗ trợ in thông tin đã cho trên màn hình hiển thị. Câu lệnh “<< endl” được sử dụng để chuyển con trỏ sang dòng mới.



Sau đó, hàm “pow()” được sử dụng, trong đó chúng ta phải truyền hai tham số: cơ số và số mũ. Ở đây, chúng ta thêm “10, 4”, trong đó “10” là số cơ sở và “4” là số mũ. Ở cuối đoạn mã này, chúng ta chèn thêm một câu lệnh nữa là 'return 0'.





Mã 1:

#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( ) {
cout << 'Chức năng nguồn được sử dụng ở đây' ;
cout << kết thúc << kết thúc ;
cout << phập phồng ( 10 , 4 ) ;
trở lại 0 ;
}

Đầu ra:
Sau khi hoàn thành mã, chúng ta phải biên dịch và chạy nó. Khi chúng tôi biên dịch mã trước đó, thông báo lỗi cho biết “pow không được khai báo trong phạm vi này” sẽ xuất hiện. Lỗi này xuất hiện do chúng tôi chưa thêm tệp tiêu đề trong đó hàm “pow()” này được khai báo. Để giải quyết lỗi này, chúng tôi phải chèn bất kỳ tệp tiêu đề nào mà chúng tôi đã đề cập trước đó.



Bây giờ chúng ta cần giải quyết lỗi này để có được kết quả. Đối với điều này, chúng tôi đã thực hiện một chút thay đổi trong mã. Trong cùng một mã, chúng tôi thêm tệp tiêu đề “#include ” sau tệp tiêu đề “”. Điều này giúp loại bỏ lỗi của đoạn mã trước đó do hàm “pow()” được khai báo trong tệp tiêu đề này.

Mã cập nhật 1:

#include
#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( ) {
cout << 'Chức năng nguồn được sử dụng ở đây' ;
cout << kết thúc << kết thúc ;
cout << phập phồng ( 10 , 4 ) ;
trở lại 0 ;
}

đầu ra :
Mã cập nhật này hiện đã được biên dịch và đang chạy thành công và chúng tôi nhận được đầu ra của mã. Lỗi của mã trước đó hiện đã được loại bỏ và kết quả sau xuất hiện sau khi biên dịch:

Ví dụ 2:

Ở đây, chúng ta có một ví dụ khác trong C++. Sau khi thêm “ ” và “std”, bây giờ chúng ta gọi hàm “main()”. Bên trong hàm main(), chúng ta chỉ cần in một dòng với sự trợ giúp của câu lệnh “cout”. Sau đó, chúng ta khai báo ba biến kiểu dữ liệu số nguyên có tên “num, exp và result”. Sau đó, chúng ta khởi tạo “num” bằng “25” và “exp” bằng “2”. Biến “kết quả” được khởi tạo bằng hàm “pow()” trong đó “num” và “exp” được truyền dưới dạng hai tham số của hàm này. Sau đó, chúng tôi hiển thị kết quả sức mạnh đó bằng cách sử dụng “cout”.

Mã 2:

#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( )
{
cout << 'Ở đây chúng ta đang tìm thấy sức mạnh của một con số trong Lập trình C++.' << kết thúc << kết thúc ;
int trên một, điểm kinh nghiệm , kết quả ;
trên một = 25 ;
điểm kinh nghiệm = 2 ;
kết quả = phập phồng ( trên một, điểm kinh nghiệm ) ;
cout << 'Sức mạnh của số là =' << kết quả ;
cout << kết thúc ;
trở lại 0 ;
}

đầu ra :
Bây giờ, mã mới này hiển thị thông báo lỗi tương tự như ví dụ trước. Lý do là nó cũng tương tự vì chúng ta không chèn tệp tiêu đề để có thể nhận được hàm “pow()” này.

Bây giờ, chúng ta thêm tệp tiêu đề vào mã của mình, đó là tệp tiêu đề “cmath”. Tệp tiêu đề này được sử dụng trong lập trình C++ để lấy hàm “pow()” trong mã của chúng tôi. Sau khi thêm tệp tiêu đề “#include”, chúng tôi nhận được đầu ra cần thiết của mã.

Ví dụ 3:

Bây giờ, chúng ta có thêm một ví dụ nữa. Ở đây, sau hàm “main()”, chúng ta khai báo và khởi tạo “base_num” của kiểu dữ liệu “long double” bằng “4.5”. Sau đó, chúng ta cũng khai báo và khởi tạo kiểu dữ liệu “expo_num” của “integer” bằng “-2”. Chúng ta cũng khai báo thêm một biến có tên “result_1” thuộc kiểu dữ liệu “long double”.

Bây giờ, chúng ta sử dụng hàm “pow()” để khởi tạo biến “result_1” và chuyển “base_num” và “expo_num” cho hàm này. Sau đó, chúng tôi in kết quả bằng lệnh “cout”. Bây giờ, chúng ta khai báo và khởi tạo thêm hai biến nữa là “f_baseNum” và “f_expoNum”, với kiểu dữ liệu “float”. Chúng tôi khởi tạo chúng lần lượt bằng “-9.2” và “5”. Sau đó, chúng tôi khai báo “result_2” là kiểu dữ liệu “double”. Bây giờ chúng ta khởi tạo biến “result_22” bằng phương thức “pow()”, chuyển vào “f_baseNum” và “f_expoNum”. Tiếp theo, chúng ta sử dụng lệnh “cout” để in kết quả.

Mã 3:

#include
sử dụng không gian tên tiêu chuẩn ;
int chủ yếu ( ) {
dài gấp đôi số cơ sở = 4,5 ;
int số triển lãm = - 2 ;
dài gấp đôi kết quả_1 ;
kết quả_1 = phập phồng ( base_num, expo_num ) ;
cout << 'base_num ở đây là long double và expo_num ở dạng số nguyên ' << kết thúc << kết thúc ;
cout << số cơ sở << '^' << số triển lãm << ' = ' << kết quả_1 << kết thúc << kết thúc ;
trôi nổi f_baseNum = - 9,2 , f_expoNum = 5 ;
gấp đôi kết quả_2 ;
kết quả_2 = phập phồng ( f_baseNum, f_expoNum ) ;
cout << 'F_baseNum ở đây là kiểu float và f_expoNum là kiểu double ' << kết thúc << kết thúc ;
cout << f_baseNum << '^' << f_expoNum << ' = ' << kết quả_2 ;
trở lại 0 ;
}

đầu ra :
Sau khi biên dịch mã này, chúng tôi nhận được thông báo lỗi cho biết hàm nguồn không được khai báo trong phạm vi này. Điều đó có nghĩa là chúng ta đã bỏ sót tệp tiêu đề trong đó hàm này được khai báo.

Lỗi hiện đã được giải quyết bằng cách sử dụng tệp tiêu đề “”. Lần này, chúng tôi sử dụng tệp tiêu đề “#include ” vì tệp tiêu đề này cũng hỗ trợ giải quyết lỗi đó.

Sau khi đặt mã này, mã được tuân thủ thành công và chúng tôi nhận được đầu ra của mã cũng được hiển thị ở đây.

Chúng tôi cũng có thể nhận kết quả bằng cách sử dụng một tệp tiêu đề khác, tệp tiêu đề “ ”. Chúng tôi sử dụng tất cả các thư viện tiêu chuẩn trong chương trình của mình với sự trợ giúp của tệp tiêu đề này.

Sau khi thêm “ ”, chúng tôi nhận được kết quả đầu ra cần thiết vì “bits/stdc++.h>” chứa mọi thư viện tiêu chuẩn. Vì vậy, lỗi hiện đã được loại bỏ sau khi thêm thư viện này vào mã của chúng tôi và kết quả đầu ra được hiển thị ở đây.

Phần kết luận

Trong bài viết này, lỗi “tham chiếu không xác định đến pow” hoặc “pow không được khai báo trong phạm vi này” trong lập trình C++ cũng được thảo luận chi tiết. Chúng tôi cũng đã khám phá các cách hoặc tệp tiêu đề hỗ trợ loại bỏ lỗi để biên dịch mã thành công. Chúng tôi đã trình bày các ví dụ trong đó chúng tôi hiển thị thông báo lỗi và kết quả của mã sau khi xóa thông báo lỗi đó.