小编Joh*_*ker的帖子

C++:2个类如何相互调用而无需重新声明,并且没有标题相互调用

我有点问题.我有一个A类实例化B的对象然后B实例化A的对象.这有可能吗?我尝试在每个标题中添加它

#ifndef A
#define A
  class a...
#endif
Run Code Online (Sandbox Code Playgroud)

但是如果让我进入一个无限的头部循环,它到达最大的头部包含,那么显然一个人正在呼叫另一个而另一个正在呼叫那个.有没有办法实现这个目标?

编辑:好的,这似乎是一个很好的答案,但现在A抱怨B没有构造函数,尽管它确实有一个构造函数.我无法想出那一个.

c++ oop header-files

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

Ajax返回html似乎无法识别适用于它的javascript函数

我正在制作一个返回表中元素的ajax请求.一切都很好,它显示正常.但是,我注意到附加到表的任何元素包含类似的内容

<div id="myId">Some Text</div>
Run Code Online (Sandbox Code Playgroud)

不受以前绑定到myId方法的javascript方法的约束,如下所示:

$("#myID").click(function() { alert("HI!") };
Run Code Online (Sandbox Code Playgroud)

它适用于调用ajax之前加载的任何内容,但如果它是由ajax填充的html,那么由于某些原因,这些标记没有意识到他们应该监听点击.

任何人都对此有任何见解.我正在使用JQuery来实现它的价值

html javascript ajax jquery

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

如何创建自定义命令以在Vim中搜索?

我想出了如何搜索文件结构,它真的很好.:find **/my_file.txt 这将找到任何名为my_file.txt的文件.我想要做的是创建一个自定义命令,所以我可以这么说:srch my_file.txt,我不必每次都输入整个find命令.任何想法如何做到这一点?我找到了

:command MyCommand find **/my_file.txt
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何传递我输入的文件

vim

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

C中链接列表的问题

我在C中创建一个链接列表(结构),但我想能够调用一个函数并让它自己添加4-5个stuct到列表中.问题是因为在C中,所有在函数中创建的变量都留在了堆栈/堆上,我不知道我应该如何实现这一点.

这是一个代码示例:

struct listItem
{
   int value;
   listItem *left;
   listItem *right;
}

void addItems(listItem *l)
{
   listItem one, two, three;
   l->left = &one;
   one.left = &two;
   two.left = &three;
}

int main (char *a [])
{
   listItem l;
   addItems(l);
}
Run Code Online (Sandbox Code Playgroud)

显然这不起作用.我怎么能做到这一点?它甚至可能吗?谢谢

编辑:哇谢谢大家的帮助.这比我想象的更快,更有帮助!

c linked-list

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

有没有比在C中使用#ifdef更简单的方法?

根据我的理解断言是C中的一个宏,并且如果你在编译时使用它但是禁用它,那么就不会有开销(这可能不正确我不知道).对我来说问题是,我想要做的是将所有变量传递给我的函数并打印输出,但仅限于我想要启用调试.这是我到目前为止:

int exampleFunction (int a, int b)
{
  #ifdef debugmode
  printf("a = %i, b = %i", a, b);
  #endif 
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更容易(并且不那么难看)的方法来做这样的事情.xdebug for php有这个功能,我发现在调试时节省了大量的时间,所以我想为每个功能做这件事.

谢谢

c debugging assertions

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

TDD如何与Exceptions和参数验证一起使用?

我来到了一个十字路口.我最近写了一个没有TDD的10,000行应用程序(我知道这个错误).我肯定遇到了很多错误,但现在我想改造项目.这是我遇到的问题.让我们举一个分裂功能的例子:

public int divide (int var1, int var2){
if (var1 == 0 || var2 == 0)
   throw new RuntimeException("One of the parameters is zero");
return var1 / var2;
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我抛出一个运行时错误,以便我可以失败,至少发现我的代码在某个地方被破坏了.问题是2倍.首先,我是否在这里正确使用了例外情况?其次,如何编写测试来处理此异常?显然我希望它通过测试,但在这种情况下,它会抛出异常.不太确定如何解决这个问题.是否有一种不同的方式通常用TDD处理?

谢谢

debugging tdd unit-testing exception

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