当前位置:  技术问答>linux和unix

下面的程序为什么提示undefined referenc to ...p 解决了立刻给分

    来源: 互联网  发布时间:2015-11-15

    本文导语:  #include  class test { public: static int p; int i; }; class subTest : public test { public: int sub; void testf() { p = 2; printf("%dn", p); } protected: private: }; int main() { subTest mo; mo.testf(); return 0; } 使用gcc编译的时候提示 undefin...

#include 
class test
{
public:
static int p;
int i;
};
class subTest : public test
{
public:
int sub;
void testf()
{
p = 2;
printf("%dn", p);
}
protected:
private:
};
int main()
{
subTest mo;
mo.testf();
return 0;
}
使用gcc编译的时候提示 undefined reference to test::p

|

在int main()外面写
int test::p;

静态成员变量的初始化一定要在主函数外面,而且静态成员变量一定要初始化。

事实上test::p并不属于test,将他作为test的成员只是为了确定访问的权限


|
声明、定义、初始化、赋值,这些是不同的概念。
类的静态成员变量逻辑上是属于该类的所有实例的,所以不能在初始化某个实例(如自动变量或new分配)时分配内存空间,因此必须显式地定义。当然,必须是全局的定义,即thethefighter(龙卷风)第二次说的int test::p。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我是JAVA的一位初学者请各位师兄师姐帮忙看看下面的代码为什么会提示出错?
  • 我的系统是solaris10,声卡找不到,输入prtconf -vp后提示下面的信息,我该怎么办?
  • 我在WIN2000SERVER中安装了JRUN,现在可以在LOCALHOST:8000中打开JRUN,但是我编写了一个lei.jsp文件,却不知道怎么打开,每次输入http://localhost:8000/lei.jsp都会出现下面的提示。
  • 请教下面的提示是什么意思?
  • 哪位linux高手帮我修改下下面的C程序,错误提示我已经贴出来,谢谢。
  • 为什么我安装yumex会出现下面的错误提示:?(我已经安装yum了阿)
  • 本人初学linux,那位高手帮我修改下下面的程序,错误提示已经列出来了,谢谢。
  • LINUX下面的WEB Service如果编写?是用.NET写吗?WINDOW下面的web service能在LINUX下面用吗?
  • 使用c gtk2 在linux 下,如何实现下面的问题,找了很久,没有这方面的资料
  • fedora13桌面的最上面的系统菜单和最下面的状态栏都不见了
  • 怎样列出目录下面的文件名和文件大小?
  • 我们公司要买软件,谁能提供这方面的信息?
  • 我们公司要买软件,谁能提供这方面的信息??
  • 关于1024柱面的问题!!
  • 在哪下载oracle.jdbc.driver.*这方面的包,谁有?
  • linux下面的什么浏览器可以支持框架??许多网页没法正常观看!!!
  • 学习unix,急需教程,请问哪里可以下载,或者谁可以提供这方面的材料!
  • 谁有网站开发这方面的论文?急需!
  • 竟然没有这方面的书
  • 我以前是做windows下面的开发的,现在想转向Linux或者Unix开发
  • 关于linux下面的sock5到http的转换工具!
  • 可以编译WIN下面的GTK1.3 Themes Dll吗??
  • linux下面的Gftp有人用过吗?
  • linux下面怎么用其它的文件下面的函数呀
  • 什么是MPI?有没有这方面的资料?谢谢
  • 要在Solaris上用C++开发一个有启动画面的程序,不知需要哪些工具和库?
  • 请教:linux下如何找到windows xp下面的文件


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3