我不懂你写的意思,不过你的代码应该产生两个vector<double>实例

解决方案 »

  1.   

    感谢您使用微软产品。编译器会在声明对象时将所遇到的模板类实例化的,但是在链接的时候,连接器会找到一个模板类的所有相同实例(即使不在同一个模块内),只保留一份代码。所以您的代码不会产生多个实例的。关于模板类的更详细的信息请参看C++语言的模板规范:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_Template_Specifications.asp- 微软全球技术中心 VC技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  2.   

    谢谢acptvc,你的解释我基本明白了下面你能否再回答一个不是"问题"的问题呢!
    我前几天碰到一个这样一段程序:
    void Function_A()
    {
    class A aA[5],aB[7];
    class B aC[8],....;//这样连续几行变量声明

    有一个程序段不小心给aB[7]赋了值   //在一个循环中错误
    当程序退出时显示调试堆栈错误}
    以上程序用了很常一段时间才查出来,原来是class A 的析构函数不能正常调用
    引起的---调试中不显示任何错误,因为报错点在函数尾,只有用单步调试运行到错
    误赋值处,才发现这个地方堆栈错误
    我想问的是像这样的错误发生写代码要存在很大问题的,但是查此错误有没有更
    简单的方法呢,因在一个循环单步调试中调试是很麻烦的,而且程序报错点也不好
    ---当然我也只知到编译器到程序尾才会发现,但有没有相关的方式呢?
    或者这在以后的vc版本中有这方面的支持呢? 
    谢谢!!!