
对于已经声明的engine显示未声明,并且竟然Engine类也显示未声明,很困惑。
注意delete和new的对应 这个报错我还真没看出来问题,除非把你代码贴出来调一下
我简单试了一下是没啥问题的
#include <iostream>
#include <string>
using namespace std;
#include <stdio.h>
class Engine {
private:
string* engine;
public:
~Engine();
Engine(string engine_);
void printstr()
{
printf("%s \n", engine->c_str());
};
};
Engine::~Engine()
{
delete engine;
}
Engine::Engine(string engine_)
{
engine = new string(engine_);
}
int main()
{
Engine ll("123");
ll.printstr();
string* str;
string str1 = "123";
str = new string(str1);
printf("%s \n", str->c_str());
delete str;
return 0;
}