我是 C++ 新手,我有一个基本问题要问你。我认为它必须是基本的...... :)。
这是我希望工作的代码,但它没有。
char* deneme = Tool::getStringIntoArray("Hello");
我想通过将字符串传递给“工具”类中的静态函数来获取字符数组。
这是我的工具标题:
#include <string>
using namespace std;
#ifndef TOOL_H_
#define TOOL_H_
class Tool
{
public:
static char* getStringIntoArray(string);
};
#endif
我了解到,使用该函数的唯一方法是在此处提供一个“静态”关键字。
最后,该函数的 Tool.cpp:
#include "Tool.h"
char* getStringIntoArray(string str)
{
int* size = new int(str.size());
char* array;
array = new char[*size];
for ( int i = 0; i < *size; i++) {
array[i] = str[i];
}
delete size;
return array;
}
尽管如此,它在我给出的第一个代码的源文件中工作,但是当我将此函数放入一个类中以供静态使用时,它不起作用。错误如下所示:
undefined reference to `Tool::getStringIntoArray(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
谢谢。