相关疑难解决方法(0)

什么时候在C++中调用模板类的静态成员的构造函数?

关于何时调用普通类的静态成员的构造函数,有大量信息.但是,我看到一些关于模板类的奇怪行为.

以下程序的输出应该是什么?(注意我使用printf来避免任何静态初始化命令与std :: cout的混淆并发症.)

#include <iostream>

class B {
public:
  B(const std::string &s) { printf("Hello I am B from %s\n", s.c_str()); }
};

template<typename T>
class Atempl {
public:
  static B b_;
};

class A {
public:
  static B b_;
};

template<typename T>
B Atempl<T>::b_("Atempl");
B A::b_("A");

class C : public Atempl<int> {
};

int main(int argc, const char *argv[]) {
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我认为输出应该是:

Hello I am B from A
Hello I am B from Atempl
Run Code Online (Sandbox Code Playgroud)

但是使用FreeBSD 7.3上的g ++ …

c++ templates constructor static-members

9
推荐指数
1
解决办法
856
查看次数

尝试在VBA中消除.activate和.select,在尝试SET范围时获取错误1004

Excel VBA非常沮丧,因为我试图避免在源和目标之间切换一系列复制/粘贴或pasteSpecial操作.

这是问题代码的一个片段:

Dim wbkSource As Workbook
Dim wbkDest As Workbook    
Dim rngOutput As Range    
Dim iCol As Integer ' Used for destination paste

Set wbkSource = ActiveWorkbook
Set wbkDest = ActiveWorkbook 'After adding destination workbook

    iCol = 1
    **Set rngOutput = wbkDest.Worksheets("Sheet1").Range(1, iCol)**
Run Code Online (Sandbox Code Playgroud)

突出显示的行始终生成运行时错误1004,"应用程序定义的错误或对象定义的错误".

我到底做错了什么?我有代码工作依次激活每个工作簿,并选择目标单元格,但这是如此丑陋和低效.

谢谢你的任何建议.

excel vba excel-vba

1
推荐指数
1
解决办法
166
查看次数

标签 统计

c++ ×1

constructor ×1

excel ×1

excel-vba ×1

static-members ×1

templates ×1

vba ×1