C++ 为什么在实现DLL时变量值错误
我试图实现DLL。。 头文件已被删除C++ 为什么在实现DLL时变量值错误,c++,dll,dllimport,C++,Dll,Dllimport,我试图实现DLL。。 头文件已被删除 class calculate { int a1; int b1; public: calculate(){ this->b1=10; this->a1=20;} int sum(); }; namespace WRITER { WRITER_API calculate* getObject(); } 但是,当使用DLL从其他程序调用此函数时,它给出了一个错误。 “a1”中接收到我分
class calculate
{
int a1;
int b1;
public:
calculate(){ this->b1=10; this->a1=20;}
int sum();
};
namespace WRITER
{
WRITER_API calculate* getObject();
}
但是,当使用DLL从其他程序调用此函数时,它给出了一个错误。
“a1”中接收到我分配给“b1”的任何值,“b1”未初始化。。。。i、 e.a为10,b未初始化,其值为-33686019。我犯错误的地方
getObject的代码如下所示
calculate* WRITER::getObject()
{
calculate *c =new calculate();
return c;
//return (calculate*) calculate::getObject;
}
//我在另一个项目上做了这个,那就是导入DLL
calculate *c=WRITER::getObject();
int value=c->sum();
错误出现在第二行。无关:有一些头文件名您不想使用。可能是其中之一。我更改了文件名,但仍然不起作用。!你是如何给这些变量赋值的?在那个构造函数之外?我在另一个项目上做了这件事,那是使用DLL
calculate*c=WRITER::getObject();int value=c->sum()代码>错误在第二行!请给我们看一下calculate.sum()
的定义好吗?我刚刚看到一份声明。。。