对于我的compsci类,我正在实现一个Stack模板类,但遇到了一个奇怪的错误:
Stack.h:在成员函数'
const T Stack<T>::top() const[with T = int]'中:Stack.cpp:10:错误:传递'
const Stack<int>' with T = int]的' 'as'this'参数void Stack<T>::checkElements()'丢弃限定符
Stack<T>::top() 看起来像这样:
const T top() const {
checkElements();
return (const T)(first_->data);
}
Run Code Online (Sandbox Code Playgroud)
Stack<T>::checkElements() 看起来像这样:
void checkElements() {
if (first_==NULL || size_==0)
throw range_error("There are no elements in the stack.");
}
Run Code Online (Sandbox Code Playgroud)
堆栈使用链接节点进行存储,first_指向第一个节点的指针也是如此.
为什么我收到此错误?
我最近一直在阅读很多关于设计模式的内容,其中一些可以让我们的生活变得更加轻松,其中一些似乎只会让事情复杂化(至少对我来说是这样).我很想知道每个人都认为什么样的设计模式被淹没或被低估了.有些模式很简单,许多人甚至没有意识到他们正在使用模式(装饰器可能是最常用的,没有实现).我的目标是给我们模式新手一些更复杂或未知的模式以及为什么要使用它们.
几年以来,我一直在使用Eclipse作为我的通用文件编辑器,无论我使用哪种语言(主要包括C++,Matlab和python,以及一些有趣的XML).
然而,我最近得到了一台新机器,其中包含更多最近的Eclipse,以及我之前使用的精彩Colorer插件崩溃(这是一个单独的问题,显然特定于我的设置 - 我会尝试调试它,但在此期间我有工作要做)
所以我转而使用CDT代替C++,而且编辑器遇到了严重的性能问题,特别是在复制粘贴或撤消时.我理解为什么CDT如此沉重,但我不想要一个完整的C++ IDE - 只是做了不错的语法高亮.
是否有任何轻量级语法突出显示CDT(或Colorer)的替代品,它们在C++上做得不错,没有不必要的(对我而言)代码层完成和所有爵士乐?
或者,或者,我可以关闭的任何想法将CDT变成闪电般快速的骨架编辑器(我已经关闭了拼写检查器和索引器)
编辑说我不是在寻找Eclipse的替换编辑器,除非是作为短时间修复.如果这个问题变得无法解决,我必须学习/配置新的东西,我将切换到emacs(出于各种非宗教原因:它几乎是标准的,我的同事已经使用它了,以及我们的标准开发设置负责人支持它,所以它真的是我最合理的替代品)但实际上,我更喜欢修复我可怜的Eclipse.
我想利用jqGrid的sortableRows属性.如何检测行何时被移动.我研究了文档并查找了示例,但没有找到太多内容.我确实相信它是这样的
jQuery("#grid").sortableRows({connectWith:'#gird',
ondrop: function(){ alert("row moved") }});
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我可以移动行,但似乎没有陷入事件.一般来说,我的语法或方法是否有问题.
基本上,我需要知道行已经重新排列,所以我可以确定他们的新订单得到了保存.
谢谢
在 Windows Server 2008 和 Windows 7 中,“应用程序和服务日志”下有分类的新事件。还有一个名为 Microsoft 的子文件夹,其中也包含大量子文件夹。
有没有办法通过WMI收集这些事件?对于常规“Windows 日志”(例如应用程序和安全性),可以使用 cimv2 命名空间中的 Win32_NTLogEvent WMI 类。但是,此类不提供对新 Microsoft 事件日志的访问。
有任何想法吗?
我有一个表格的功能
'a -> ('a * int) list -> int
let rec getValue identifier bindings =
match bindings with
| (identifier, value)::tail -> value
| (_, _)::tail -> getValue identifier tail
| [] -> -1
Run Code Online (Sandbox Code Playgroud)
我可以identifier说它不受我想要的约束,并且在匹配表达式中充当新变量.如何identifier成为传递给函数的内容?
好!我用模式防护装置固定了它,| (i, value)::tail when i = indentifier -> value
但是我觉得这比我最初想要做的那样丑陋(我只使用这些语言,因为它们很漂亮......).有什么想法吗?
我正在尝试重构一个类和一组子类,其中M类型确实扩展了任何东西,即使我们知道它必须是某种类型的子类.该类型是参数化的,我希望它的参数化类型可用于已经具有M值的子类.
有没有办法定义这个类,而不必在参数列表中包含冗余的K和V泛型类型.我希望能够让编译器从子类映射到的M中推断它们.
public abstract class NewParametrized<K, V, M extends SomeParametrized<K, V>> {
public void someMethodThatTakesKAndV(K k1, V v1) { }
}
Run Code Online (Sandbox Code Playgroud)
换句话说,我希望类声明看起来像:
public class NewParametrized<M extends SomeParametrized<K, V>> {
Run Code Online (Sandbox Code Playgroud)
K和V的类型将从M.的定义推断出来.
以Apple的Mail应用程序为例; 假装它使用核心数据.当您触摸电子邮件帐户时,它会显示该帐户中的所有邮件.因此,控制器对该帐户中的所有消息执行了获取请求.
然后,您触摸消息并深入钻取一个级别,现在您正在查看单个消息.此消息可能是从消息列表控制器传递的,但是 - 您还可以单击右上角的三角形来浏览同一电子邮件帐户中的所有消息.这意味着用于查看单个电子邮件消息的视图控制器也需要完全相同的消息列表.
因此,您可以从列表视图中剪切并粘贴获取请求逻辑,但这不是DRY /不重复自己.
有关解决此问题的最佳实践的建议吗?
我正在看一些具有以下形式的Java类:
public
abstract
class A <E extends A<E>> implements Comparable <E> {
public final int compareTo( E other ) {
// etc
}
}
public
class B extends A <B> {
// etc
}
public
class C extends A <C> {
// etc
}
我在这里使用"可比较"只是为了说明通用参数"E"的可能用法.泛型/继承的这种用法是否有名称?它是干什么用的?
我的印象是,这允许抽象类提供方法的通用实现(例如compareTo),而不必在子类中提供它.但是,在此示例中,与继承方法不同,它会限制子类在同一子类的其他实例上调用compareTo,而不是任何"A"子类.这听起来不错吗?
无论如何,只是好奇,如果有任何大师之前已经看到过这一点,并知道它做了什么.
谢谢!
我有一个使用MVVM模式的WPF应用程序.将按钮连接到VM非常简单,因为它们实现了ICommand.我有一个类似的上下文菜单.下一步是为上下文菜单创建快捷键.我无法弄清楚如何让快捷键调用Command.这是一个例子:
<MenuItem Header="Update" Command="{Binding btnUpdate}" >
<MenuItem.Icon>
<Image Source="/Images/Update.png"
Width="16"
Height="16" />
</MenuItem.Icon>
</MenuItem>
Run Code Online (Sandbox Code Playgroud)
现在我添加了这个:
<Window.InputBindings>
<KeyBinding Key="U"
Modifiers="Control"
Command="{Binding btnUpdate}" />
</Window.InputBindings>
Run Code Online (Sandbox Code Playgroud)
尝试将快捷键连接到同一个绑定,但这不起作用.错误是:
错误169无法在"KeyBinding"类型的"Command"属性上设置"绑定".'绑定'只能在DependencyObject的DependencyProperty上设置.
有没有办法将此事件连接到命令?我无法弄清楚这一点.
提前致谢!
法案
c++ ×2
generics ×2
java ×2
.net ×1
binding ×1
cocoa-touch ×1
core-data ×1
data-binding ×1
eclipse ×1
eclipse-cdt ×1
event-log ×1
f# ×1
inheritance ×1
iphone ×1
jqgrid ×1
mvvm ×1
objective-c ×1
ocaml ×1
shortcuts ×1
variables ×1
windows-7 ×1
wmi ×1