用了指针指针包装第三方库Book对象 Book对象的本质是一个模板类
#include <iostream>
#include <libxl.h>
#include <cstdlib>
#include <memory>
#include <string>
#pragma comment(lib,"libxl.lib")
const std::string filepath = "H:\\szubooktest.xlsx";
int main()
{
std::shared_ptr<libxl::Book> szu_book = std::make_shared<libxl::Book>(xlCreateXMLBookA());
if (szu_book->load(filepath.data())) std::cout << "文档打开成功!" << std::endl;
else
{
std::cout << "文档打开失败!" << std::endl;
system("pause");
return 0;
}
system("pause");
return 0;
}
如果不写智能指针就没问题
#include <iostream>
#include <libxl.h>
#include <cstdlib>
#include <memory>
#include <string>
#pragma comment(lib,"libxl.lib")
const std::string filepath = "H:\\szubooktest.xlsx";
int main()
{
//std::shared_ptr<libxl::Book> szu_book = std::make_shared<libxl::Book>(xlCreateXMLBook());
libxl::Book* szu_book = xlCreateBook();
if (szu_book->load(filepath.data())) std::cout << "文档打开成功!" << std::endl;
else
{
std::cout << "文档打开失败!" << std::endl;
system("pause");
return 0;
}
system("pause");
return 0;
}