我遇到了另一个我不明白的问题.
以下没有实例化(参数实例化失败),为什么?
template<class E>
void operator[](typename boost::mpl::identity<E>::type e) const;
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助
我正在尝试Panel通过覆盖来编写WPF 的自定义类MeasureOverride,ArrangeOverride但是,虽然它主要工作,但我遇到了一个我无法解释的奇怪问题.
特别是,在我弄清楚它们的尺寸应该是什么之后我打电话Arrange给我的儿童用品ArrangeOverride之后,它们没有按照我给它们的尺寸来确定尺寸,并且看起来尺寸与传递给它们的Measure方法的尺寸相符MeasureOverride.
我错过了这个系统应该如何工作的东西吗?我的理解是,调用Measure只是让孩子DesiredSize根据提供的availableSize 来评估它,并且不应该影响它的实际最终大小.
这是我的完整代码(面板,顺便说一句,旨在以最节省空间的方式安排儿童,为不需要它的行提供更少的空间,并在其余部分之间平均分配剩余空间 - 它目前仅支持垂直方向,但我打算一旦我正常工作就加水平):
编辑:感谢您的回复.我马上就会仔细研究它们.但是,让我澄清一下我的预期算法是如何工作的,因为我没有解释.
首先,想到我正在做的最好的方法是想象一个Grid,每行设置为*.这样可以均匀地划分空间.但是,在某些情况下,行中的元素可能不需要所有空间; 如果是这种情况,我想占用任何剩余空间并将其分配给可以使用该空间的那些行.如果没有行需要任何额外的空间,我只是尝试均匀地分隔事物(这就是extraSpace正在做的事情,它只适用于那种情况).
我这两次通过.第一遍的最终点是确定一行的最终"正常大小" - 即将缩小的行的大小(给定小于其所需大小的大小).我这样做是通过将最小项目逐步调整到最大值并在每一步调整计算出的正常大小,方法是将每个小项目的剩余空间添加到每个后续较大项目,直到没有更多项目"适合"然后中断.
在下一个传递中,我使用此正常值来确定项目是否适合,只需Min将正常大小与项目所需大小相对应即可.
(为简单起见,我还将匿名方法更改为lambda函数.)
编辑2:我的算法似乎在确定孩子的正确大小方面非常有用.然而,孩子们只是不接受他们给定的尺寸.我MeasureOverride通过传递PositiveInfinity并返回Size(0,0)来尝试Goblin的建议,但这会让孩子们画出自己,好像根本没有空间限制.关于这一点不明显的部分是它正在发生,因为呼吁Measure.微软关于这个主题的文档并不清楚,因为我已经多次阅读过每个类和属性描述.但是,现在很清楚,调用Measure确实会影响孩子的渲染,因此我将尝试将这些逻辑分解为BladeWise建议的两个函数.
解决了!!我搞定了.我怀疑,我需要对每个孩子调用两次Measure()(一次评估DesiredSize,一次给每个孩子一个适当的高度).对我来说,WPF中的布局会以如此奇怪的方式进行设计似乎很奇怪,它会分成两个通道,但是测量通道实际上做了两件事:测量和尺寸的子项和编程通道几乎没有任何实际的物理定位孩子们.非常离奇.
我将在底部发布工作代码.
首先,原始(破碎)代码:
protected override Size MeasureOverride( Size availableSize ) {
foreach ( UIElement child in Children )
child.Measure( availableSize );
return availableSize;
}
protected override System.Windows.Size ArrangeOverride( …Run Code Online (Sandbox Code Playgroud) 我无法在html表单中设置选择列表的样式.基本上我希望它的字体大小为12px,高度为30px; 问题是该框被绘制到正确的高度,但文本呈现在每个浏览器中都有所不同.在FireFox中,它会在左上角呈现它.我想垂直居中文本.任何人都知道这样做的方法,还是我需要用ul定制一些东西?
谢谢
我正在编写一个OpenGL程序,我计算自己的矩阵并将它们传递给着色器.我想将Boost的uBLAS库用于矩阵,但我不知道如何将uBLAS矩阵转换为OpenGL的着色器统一函数.
matrix<GLfloat, column_major> projection(4, 4);
// Fill matrix
...
GLuint projectionU = glGetUniformLocation(shaderProgram, "projection");
glUniformMatrix4fv(projectionU, 1, 0, (GLfloat *)... Um ...);
Run Code Online (Sandbox Code Playgroud)
尝试将矩阵转换为GLfloat指针会导致编译时出现无效的强制转换错误.
我正在尝试使用Google App Engine上的GSON库将对象转换为JSON.出于某种原因,它抛出了这个异常,我不明白如何解决这个问题.有什么建议?
java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed on private static final int java.util.BitSet.ADDRESS_BITS_PER_WORD
at com.google.appengine.runtime.Request.process-8d5b435d6736643f(Request.java)
at java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.java:29)
at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:141)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:123)
at com.google.gson.JsonSerializationVisitor.getJsonElementForChild(JsonSerializationVisitor.java:148)
at com.google.gson.JsonSerializationVisitor.addAsArrayElement(JsonSerializationVisitor.java:139)
at com.google.gson.JsonSerializationVisitor.visitArray(JsonSerializationVisitor.java:83)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109)
at com.google.gson.JsonSerializationVisitor.getJsonElementForChild(JsonSerializationVisitor.java:148)
at com.google.gson.JsonSerializationVisitor.addAsChildOfObject(JsonSerializationVisitor.java:126)
at com.google.gson.JsonSerializationVisitor.visitArrayField(JsonSerializationVisitor.java:95)
at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:154)
at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:123)
at com.google.gson.JsonSerializationContextDefault.serialize(JsonSerializationContextDefault.java:56)
at com.google.gson.Gson.toJsonTree(Gson.java:230)
at com.google.gson.Gson.toJson(Gson.java:315)
at com.google.gson.Gson.toJson(Gson.java:270)
at com.google.gson.Gson.toJson(Gson.java:250)
at companionmodel.Sample_Model_PopulateServlet.printOutput(Sample_Model_PopulateServlet.java:59)
at companionmodel.Sample_Model_PopulateServlet.doGet(Sample_Model_PopulateServlet.java:28)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at …Run Code Online (Sandbox Code Playgroud) 我刚刚开始为Android开发,我遇到了一个奇怪的问题.首先,我正在运行Eclipse for Java devs v3.5.2并安装了Android 2.1 SDK.
基本上,每当我做任何事情时,"gen"(R.java等)文件夹就会从项目中消失.我看到网上的一些人说它仍然在驱动器上,刚刚从Eclipse中的项目列表中消失,但在我的情况下它完全消失了.
我发现的唯一修复是,如果我刷新,然后尝试构建,它会出现错误并且"gen"会出现在项目视图中(虽然它不在磁盘上),然后从项目中删除它,然后重建全部,它会说它找不到它并正在重新创建它.
问题是,每次我想要构建时都必须这样做.
必须要解决这个问题.
我有一个嵌入对象的字典,看起来像这样:
notes = {
2009: [<Note: Test note>, <Note: Another test note>],
2010: [<Note: Third test note>, <Note: Fourth test note>],
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试访问django模板中的每个注释对象,并且有一个helluva时间导航到它们.简而言之,我不确定如何在django模板中通过索引提取.
目前的模板代码是:
<h3>Notes</h3>
{% for year in notes %}
{{ year }} # Works fine
{% for note in notes.year %}
{{ note }} # Returns blank
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
如果我将{%for notes inye.yar%}替换为{%for note in notes.2010%},一切正常,但我需要'2010'是动态的.
任何建议非常感谢.
我正在开发一个应用程序,需要对从麦克风捕获的原始PCM音频执行识别算法.在我测试过的所有Android设备上,PCM数据都是可用的(即原始音频数据).对于新的Sprint EVO,情况并非如此.
Sprint EVO在麦克风上有AGC(自动增益控制),它会破坏数据,使我们的识别算法不再有效.
我相信这是HTC为此设备(以及可能未来的设备)添加到操作系统中的一项功能.我已经在使用相同操作系统版本(2.1)的其他几个设备上测试了我们的应用程序,而这些其他设备的行为正常.
很遗憾,HTC尚未发布此设备上使用的代码.我希望我可能不得不使用JNI来绕过这个特定的设备,我愿意这样做,但是如果没有访问HTC源,我就不知道从哪里开始.
没有办法扭转AGC的影响,所以我一直试图解决它.
更具体的信息:
我正在使用AudioRecorder来访问原始PCM数据.我尝试了一些使用MediaRecorder记录AMR数据的程序,这些记录也表现出相同的AGC属性.
我还有一件事要做,就是编写自己的例程来使用MediaRecorder并使用setAudioSource(AudioSource.VOICE_RECOGNITION).我在这个标志上可以找到的唯一文档来自Android参考,它简单地说明"如果可用的话,调整用于语音识别的麦克风音频源,其行为就像DEFAULT".这可能是我需要的,但是需要额外的步骤来解码AMR数据以获得PCM数据(如果必须的话,我会这样做.)
如果有人知道这个新的"功能",任何信息将不胜感激.具体来说,如果我得到以下任何问题的答案,我的生活会好得多:
任何其他线索,提示,提示将不胜感激.
这是一个简单的问题,可以由比我更熟悉Objective-C的人快速回答,我可以如何为一个类添加2个以上的代表?
为了澄清,我习惯把代表放在这样的类中:
@interface ViewController : UIViewController <UIWebViewDelegate> { ...
当我试图把两个代表:
@interface ViewController : UIViewController <UIWebViewDelegate> <UITextFieldDelegate> { ...
...该应用程序提供了许多错误,其中没有一个有助于这种情况.
我需要在代理之间放置一个分隔符,还是可以有两个以上的分隔符?
在此先感谢您的帮助.