30/09/2018, 21:50
Stoped working khi không return!
Chuyện là em viết code thế này
#include <iostream>
using namespace std;
class dautien {
public :
string Tenbanno(string Tenban){
cout << Tenban;}
};
main()
{
dautien thuchien;
cout << thuchien.Tenbanno("Tenboban");
cout << thuchien.Tenbanno("Tenmeban");
cout << thuchien.Tenbanno("Tenongban");
return 0;
}
Thì nó hiện dòng đầu tiên là “Tenboban” sau đó stoped working !
còn chuyển cout << Tenban thành return Tenban thì nó in ra màn hình cả 3 dòng không bị stoped working!
Tại sao dùng cout << lại bị vậy ạ? Em thử xóa cout << ở hành main mà vẫn bị!
Bài liên quan
Code này sẽ gặp warning từ lúc compile.
return type là
string
mà không córeturn
này.Vì bạn bỏ qua cái warning đó mà chạy nên gặp exception.
cout
một hàm mà hàm ko có giá trị.Cách khắc phục
Như bạn nói, sửa thành return
Em mới học nên cũng không rõ, anh nói rõ return type là string mà không có return này. là sao ạ? Anh nói chi tiết giúp em với ạ!
trong code trên:
string
là return type hay kiểu trả về.Tenbanno
là tên hàm(string Tenban)
là tham sốvì hàm của bạn có kiểu trả về là
string
nên trong code phải có lệnh trả về một giá trị kiểu string. (return TenBan
)Hiểu rồi! Em cảm ơn !
Hàm tenbanno bạn chỉ cần khai báo là void thôi mà?
Em dùng CodeBlocks, sửa thành void thì nó báo lỗi! Kiểu void là không trả về giá trị gì hết mà.
Mấy dòng “cout<<” phía đưới bạn xóa đi.
Sửa thành
void
thì code trong hàmmain
sẽ thànhcout << void
, không đượcKhông dùng nhiều C++, nhưng chả hiểu tại sao nó không báo error luôn mà báo warning và cho chạy làm gì nhỉ
hàm main phải là int main chứ nhỉ :v return 0 mà