小编Jac*_*cob的帖子

我如何解决:"错误C2039:'{ctor}':不是"在Visual Studio 2005中的成员?

我在Visual Studio 2005中使用C++扩展模板类.当我尝试使用以下命令扩展模板基类时,它给出了一个错误:

template <class K, class D>
class RedBlackTreeOGL : public RedBlackTree<K, D>::RedBlackTree  // Error 1
{
 public:
  RedBlackTreeOGL();
  ~RedBlackTreeOGL();
Run Code Online (Sandbox Code Playgroud)

当我尝试实例化对象时出现第二个错误:

RedBlackTreeOGL<double, std::string> *tree = new RedBlackTreeOGL<double, std::string>; // error 2
Run Code Online (Sandbox Code Playgroud)

错误1:

**redblacktreeopengl.hpp(27):错误C2039:'{ctor}':不是'RedBlackTree'的成员[K = double,D = std :: string]**

错误2:

main.cpp(50):参见正在编译的类模板实例化'RedBlackTreeOGL'

c++ templates class-design visual-studio-2005 visual-c++-2005

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

如何使用MATLAB以定时间隔获取图像?

我是一名MATLAB初学者,我想知道如何从我的相机以5秒的间隔获取并保存20张图像.非常感谢你.

matlab camera image timer capture

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

我如何说服同行认为算法很重要?

我的同行正在撰写一份报告,显示我们小型咨询公司每位员工的每周(周日至周六)预付款.他编写了一段代码,显示了与目标周中的日期相对应的列.他的算法如下:

  1. 获取该月第一天的哪一天.如果是星期天,将标志设置为零; 否则,将其设置为1.
  2. 整个月的所有日子都在迭代.如果是星期天,请递增旗帜.然后,如果标志的值等于要显示的周,则显示与当天相对应的列; 否则,隐藏列.

当然,该标志表示当前周是什么.

我建议另一种算法:

  1. 获取该月的哪几天是指定周的第一天(F)和最后一天(L).例如,2009年10月的第一周从星期二的1日开始,到星期六的3日结束.
  2. 遍历对应于第1天到第F-1天的列,并隐藏它们.
  3. 遍历对应于天F到L的列,并显示它们.
  4. 遍历对应于天L + 1到DaysOfMonth的列,并隐藏它们.

我的算法中的"困难"部分是第1部分.我的意思是"难以",因为"难以理解",因为这样做的算法复杂性是不变的.我的算法具有更紧密的循环优势.我的同行循环对每月的每一天进行比较.我没有.

这是一个小例子,你可能会说这里的过度优化有点过于偏执.但是当我们编写实际的性能关键代码时,他的编程风格并没有改变.

他的代码也充满了这些测试:

/* doSomething() doesn't change the state of the relevant variables. */
if (condition)
{
    flag++;
    if (flag > test)
        doSomething();
}
else
    if (flag >= test)
        doSomething();
Run Code Online (Sandbox Code Playgroud)

当然,当它可以这样做:

if (flag >= test);
    doSomething();
if (condition)
    flag++;
Run Code Online (Sandbox Code Playgroud)

我该怎么办?!?!?!

编辑:我更正了代码示例中的比较.

algorithm peer

3
推荐指数
2
解决办法
528
查看次数

在MATLAB中绘制贝塞尔函数

在MATLAB中你如何绘制

f(r)= {2*J1(a*r)/ r} ^ 2

其中a = 2*pi,J1是第一类贝塞尔函数,r = sqrt(x ^ 2 + y ^ 2)

这应该用3D绘制,即有点像泡泡(不知道怎么做)

math matlab bessel-functions

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

C优化问题

我想知道什么是我能编写代码的最快方法.我有一个循环,在一些int上执行添加.循环将执行很多次,所以我想过进行比较以检查是否有任何操作数为零,因此不应该考虑添加它们,如下所示:

if (work1 == 0)
{
    if (work2 == 0)
        tempAnswer = toCarry;
    else
        tempAnswer = work2 + toCarry; 
}
else if (work2 == 0)
    tempAnswer = work1 + toCarry;
else
    tempAnswer = work1 + work2 + toCarry;
Run Code Online (Sandbox Code Playgroud)

我相信顶部的嵌套IF已经是一个优化,因为它比用&&编写一系列比较更快,因为我会(work1 == 0)不止一次地检查.

遗憾的是,我无法说出work1和work2的频率为零,所以假设它可能是IF语句的每个可能结果的均衡分布.

那么,鉴于此,上述代码是否比仅仅编写更快tempAnswer = work1 + work2 + toCarry或者所有比较可能会导致很多拖累?

谢谢

c optimization

3
推荐指数
2
解决办法
556
查看次数

vector <T> :: iterator - 无效?

可能重复:
g ++"不是类型"错误

以下内容无法编译:

1    template<typename T>
2    void foo(std::vector<T>::iterator & i)
3    {  
4    }
Run Code Online (Sandbox Code Playgroud)

在Visual Studio上,我收到以下错误:

>(2) error C2065: 'i' : undeclared identifier
>(4) warning C4346: 'std::vector<_Tp>::iterator' : dependent name is not a type
     prefix with 'typename' to indicate a type
>(4) error C2182: 'foo' : illegal use of type 'void'
>(4) error C2998: 'int foo' : cannot be a template definition
Run Code Online (Sandbox Code Playgroud)

c++ templates vector

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

在Excel 2007中隐藏工作表(使用密码)或在Excel中隐藏VBA代码

我发现了一种隐藏Excel工作表的方法,如下所示:在VBAProject属性中将工作表的可见性设置为VeryHidden,然后使用密码保护VBAProject属性.

这很棒,但在Excel 2007中,如果将其保存为XLSX,则会剥离VBAProject密码保护,您可以查看VBA代码.有什么方法可以防止这种情况吗?

或者,还有其他方法可以隐藏Excel 2007表吗?

excel vba office-2007

3
推荐指数
1
解决办法
8万
查看次数

需要帮助进行自然对数的数学计算(ln)

如何用C语言编写一个函数?

y = 20 ln(x + 3)?

我该如何编写ln函数?

c math

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

旋转一组对象坐标

我有一堆对象(ActiveRecord),它们具有相对于HTML5 canvas元素的x和y坐标.我需要以不同的度数(以90度为增量)旋转它们的集合,然后再次存储它们以进行一次数据迁移.

这些对象都是相对于canvas元素的,所以坐标从(0,0)开始,我希望它们留在那个象限(右下角),如果可能的话.我假设我需要围绕(0,0)进行旋转,然后向下和向右进行平移.

有没有办法可以编写一个可以执行此操作的块?任何帮助表示赞赏.

更新:做了一些编辑,以便在一些问题后更清楚.

谢谢.

ruby geometry rotation

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

多项式最小不动点的有效计算

设P(x)表示所讨论的多项式.P的最小不动点(LFP)是x的最小值,使得x = P(x).多项式具有实系数.一般不能保证存在LFP,但如果度数是奇数且≥3,则保证存在LFP.如果度数为3,我知道有效的解决方案.x = P(x)因此0 = P( x)的-x.有一个封闭形式的立方公式,求解x有点微不足道,可以硬编码.度数2和1同样容易.这是我遇到麻烦的更复杂的情况,因为我似乎无法想出任意程度的好算法.

编辑:

我只考虑真正的固定点并且在它们中间取得最少,不一定是具有最小绝对值的固定点.

algorithm numerical-methods

3
推荐指数
2
解决办法
690
查看次数