public:
string str;
Test(string& str){
this->str=str;
cout<<"constructor"<<endl;
}
};
int main() {
Test t="test";
return 0;
}
почему всплывающее окно».. \ SRC \ test.cpp: 30: 9: ошибка: преобразование из«сопзИте полукокс [5] 'для нескалярного типа' Test 'запрошен "?ошибка: преобразование из 'сопзИте полукокс [5] для нескалярного типа в C++
но почему это нормально в следующем коде?
#include <iostream>
using namespace std;
class Test{
public:
string str;
Test(string str){
this->str=str;
cout<<"constructor"<<endl;
}
Test(const Test &test){
cout<<"copy constructor"<<endl;
this->str=test.str;
}
};
int main() {
Test t=Test("test");
return 0;
}
@Petesh Это строительство, а не назначение. –
, потому что строка имеет конструктор по умолчанию для const char *. –
неправильно прочитал код, удалил неточный комментарий. немного походите на маппет для создания комментария – Petesh