未定义的静态类函数

时间:2015-01-22 21:06:52

标签: c++ static-methods

我无法弄清楚为什么我在尝试使用该函数的任何地方都收到此错误: undefined reference to mem::Stripper::getPath(char const*)

这是我的memPathStripper.h:

#pragma once

#include <string>

namespace mem
{
    class Stripper
    {
    public:
        static bool *strip;

        static void setStrip(bool input);

        static std::string getPath(const char* path);
    };

}

和我的memPathStripper.cpp:

#include "memPathStripper.h"

namespace mem
{
    bool* Stripper::strip = NULL;

    void Stripper::setStrip(bool input)
    {
        strip = new bool(input);
    }

    std::string Stripper::getPath(const char* path)
    {
        std::string cut = std::string(path);
        if(strip != nullptr && *strip)
            cut = cut.substr(cut.find_last_of("/") + 1, std::string::npos);
        return cut;
    }
}

我尝试使用的所有5个不同文件中都会弹出未定义的引用错误。我真的想了解更多有关静态类的信息......

0 个答案:

没有答案