在C ++中的头文件中声明的源文件中定义静态方法

ABV

我在C ++中使用静态方法时遇到了一些麻烦

示例.h:

class IC_Utility {
public:
    IC_Utility();
    ~IC_Utility();

    std::string CP_PStringToString( const unsigned char *outString );
    void CP_StringToPString( std::string& inString, unsigned char *outString, short inMaxLength );
    static void CP_StringToPString( std::string& inString, unsigned char *outString);
    void CP_StringToPString( FxString& inString, FxUChar *outString);

};

示例.cpp:

static void IC_Utility::CP_StringToPString(std::string& inString, unsigned char *outString)
{
    short       length = inString.length();

   if( outString != NULL )
    {
        if( length >= 1 )
            CPLAT::CP_Utility::CP_CopyMemory( inString.c_str(), &outString[ 1 ], length );

            outString[ 0 ] = length;
    }
}

我想打个电话:

IC_Utility::CP_StringToPString(directoryNameString, directoryName );

但我得到一个错误:

error: cannot declare member function 'static void IC_Utility::CP_StringToPString(std::string&, unsigned char*)' to have static linkage

我不明白为什么我不能这样做。谁能帮助我理解为什么以及如何实现我想要的?

x13n

static在方法定义中删除关键字。将其保留在您的类定义中。

static.cpp文件中的关键字表示某个功能具有静态链接,即。它只能从同一文件中的其他功能访问。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在“ C”头文件中声明的静态函数

在C ++中包括头文件(类定义和方法实现)

多个源文件中的C ++ :: #include:ing模板类头文件?

C头文件中的外部定义常量

C ++在多个源文件中包含具有相同类实现的不同头文件

在C ++中,当在源文件中定义数据结构时,如何在头文件中声明数据结构?

错误:在C头文件中重新定义了“静态变量”

Bindgen跳过C ++头文件中的定义

在C头文件中声明结构-gcc malloc错误

C ++头文件中的静态函数

如何将宏从C中的头文件传递到源文件?

如何在头文件中声明结构并在.c文件中定义

在C / C ++文件中定义功能,并在头文件中包含相应的文件

C加号有关在头文件或源文件中定义静态数据成员的信息

如何在头文件中声明C数组?

是否可以在头文件中定义C函数?

在C中包含头文件

在C ++中从头文件到源文件中实现typedef函数

文件选择器中的C ++头文件/源文件

C文件中的头文件路径

C-头文件中的结构定义

在头文件中声明extern结构模板,以在c文件中全局使用

头文件C ++中的声明和初始化太多

为什么多个头文件和源文件中的 C++ 继承不起作用?

正文或头文件中的默认 C++ 定义

如何在C中的vscode中连接源文件和头文件

C 中的 ADT(使用头文件、源文件和主文件)

为 C++ 头文件中的类属性声明而苦恼?

如何在 cpp 文件中定义静态方法。(C++)