`

static变量不仅要在.h文件声明,而且要在cpp文件中赋值(定义实体)

 
阅读更多

[时间]:2008-11-19

[错误]:
error LNK2001: unresolved external symbol "public: static class CUtilDlg * CUtilApp::m_pMyDlg" (?m_pMyDlg@CUtilApp@@2PAVCUtilDlg@@A)
fatal error LNK1120: 1 unresolved externals


[解决]:
static变量不仅要在.h文件声明,而且要在cpp文件中赋值(定义实体)。

原代码:
.h文件中:
static CUtilDlg *m_pMyDlg;
修改:
在相应的cpp文件中加上:
CUtilDlg* CUtilApp::m_pMyDlg = NULL;

分享到:
评论

相关推荐

    变量的存储类型.zip

    在这个“变量的存储类型.zip”压缩包中,包含了一些与C++编程相关的源代码文件,如StdAfx.cpp、变量的存储类型.cpp等,它们可能涉及到对变量不同存储类型的探讨和示例。 首先,我们要了解变量有几种基本的存储类型...

    全局变量、静态全局变量、静态局部变量和局部变量的区别2.pdf

    `a`为全局变量,由于在`main.cpp`中被赋值为20,因此输出为5和20。 - `func2()`中的`i`为静态局部变量,在第一次调用时初始化为0,随后每次调用增加1,因此输出为1和2。 #### 六、总结 通过上述分析可以看出,不同...

    MFC实现STATIC+TEXT控件

    假设对话框类为CChartDlg,你需要在`ChartDlg.h`文件中添加CMyStatic成员变量,并声明消息映射函数: ```cpp class CChartDlg : public CDialog { public: CMyStatic m_mystatic; afx_msg LRESULT ...

    局部变量与全局变量区别,栈、堆和静态存储区的区别[借鉴].pdf

    在 C++ 中,变量根据定义位置的不同,具有不同的作用域,可以分为六种:全局作用域、局部作用域、语句作用域、类作用域、命名作用域和文件作用域。下面我们将对局部变量和全局变量的区别进行详细的分析,并说明栈、...

    MFC全局变量的四种方法

    在MFC应用的任何源文件中(通常是`.cpp`文件),你可以在全局作用域定义一个变量: ```cpp extern int g_GlobalInt; // 声明 int g_GlobalInt = 0; // 定义 ``` 在这里,`g_GlobalInt`是可以在程序任何地方访问的...

    BCB编程技巧

    1. **跨文件引用**:当你在一个源文件中定义了一个变量或函数,并希望在另一个源文件中使用它时,可以在第二个文件中使用`extern`声明,告诉编译器这个实体的定义位于别处。例如,若在一个文件中定义了`int global_...

    VC++中常量与变量的经典案例共9页.pdf.zip

    在声明时,你可以使用关键字`const`来指定一个变量为常量,例如: ```cpp const int PI = 3.14159; // 声明一个整型常量PI ``` 而变量(Variable),则是存储数据的容器,它的值可以在程序运行过程中发生变化。...

    static 用法

    在C语言中,如果想要限制全局变量或函数的作用域仅限于本文件(即内部函数),可以在声明这些全局变量或函数时使用`static`关键字。 **主要特性:** - `static`关键字在此处不是指存储方式,而是指作用域仅限于本...

    Cpp面经200问.pdf

    static用于声明静态存储期变量,使得变量在内存中只有一份拷贝。 #### 25. 顶层const和底层const 顶层const表示指针本身是一个常量,而底层const表示指针所指向的内容是一个常量。 #### 26. 类的对象存储空间 类的...

    c++编程(自己面试总结的)

    - 头文件中声明为extern,以表示变量在其他cpp文件中定义。 在准备面试过程中,通过上述点对C++编程语言中const和static的使用方法进行了系统性的梳理,涉及到了指针与引用的常量限定、类中const成员变量与成员...

    const成员函数、初始化列表、static成员1

    在上面的代码中,我们声明了一个static 成员变量a,并在类外部定义它。 static 成员函数 static 成员函数是属于类的,而不是属于对象的。它们可以访问static 成员变量,但不能访问一般的成员变量。static 成员函数...

    C、C++知识点总结

    - **局部于单个cpp文件的全局变量**:通过在cpp文件中使用`static`关键字声明全局变量,可以使其仅在当前cpp文件中可见,而不在其他文件中可见。 - **示例**: ```cpp static int g_value = 0; // 仅在此cpp...

    static用法小结

    4. **作用域**:静态变量的作用域取决于它们的位置,局部静态变量的作用域局限于定义它们的函数,而文件作用域的静态变量只在定义它们的源文件中可见。 理解并正确使用`static`关键字对于编写高效、可靠的C和C++...

    const与static用法完整总结

    静态全局变量只在定义它的文件内部可见。 ```cpp // file1.cpp static int global_var = 10; // file2.cpp int global_var = 20; // 错误:重定义 ``` **总结** `const`和`static`都是C++中非常重要的关键字,...

    volatile关键字 Const关键字 static关键字 mutable 关键字

    `static` 关键字有两层含义:一是用于局部变量,表示该变量只在声明它的函数或代码块内部存在,并且在每次调用该函数时保持其值;二是用于全局变量,表示该变量在程序的整个生命周期内只有一份拷贝,而不是每个函数...

    Qt之单例 - 读写配置文件

    `ConfigInformation.h`头文件中,声明单例类及其接口: ```cpp #ifndef CONFIGINFORMATION_H #define CONFIGINFORMATION_H #include #include class ConfigInformation : public QObject { Q_OBJECT private: ...

    孙鑫VC视频教程笔记[1].doc

    1. **StdAfx.h**:在MFC项目中,StdAfx.h文件包含了基本的AFX函数声明,如afxwin.h,它提供了C++类库中的CRECT, CPoint, CWnd等类及其方法。 2. **命令行参数**:在项目设置中,通过Project->Setting->Debug可以...

    GFX_Convert.rar

    `GFX_Convert.cpp`和`GFX_Convert.h`是实现和声明这个转换类的源代码文件。通常,`.cpp`文件包含了类的方法实现,而`.h`文件则包含了类的定义和接口,供其他源文件包含并使用。在这个`Convert`类中,我们可以预期它...

    VC-Media+Player视频播放器笔记

    1. **StdAfx.h**:在MFC(Microsoft Foundation Classes)项目中,StdAfx.h文件包含了常用AFX函数的声明,如afxwin.h,它提供了如CRECT、CPoint和CWnd等类的声明,这些类是Windows GUI编程的基础。 2. **命令行参数...

Global site tag (gtag.js) - Google Analytics