问题列表 - 第22075页

如果从lambda内部调用,则无法实例化使用decltype推导返回类型的函数模板?

我正在尝试使用C++ 0x,特别是lambda表达式和decltype来简化我的一些代码,使用MSVC10 RC编译器.

我遇到了以下非常奇怪的问题:

template <typename F>
auto foo(F f) -> decltype(f()){
  return f();
}

template <typename F>
void bar(F f){
  f();
}

int main() {
  bar([](){
    foo([]() { }); // error C2893: Failed to specialize function template ''unknown-type' foo(F)'
  });
}
Run Code Online (Sandbox Code Playgroud)

如注释中所示,编译器在该行上生成错误foo([]() { }).

我讨厌大喊"编译器错误",但我真的看不出任何有关此错误的好解释.显然,在外部lambda表达式中,编译器不能专门化foo内部lambda 的 函数模板.

但是,如果将定义foo更改为硬编码返回类型,如下所示:

template <typename F>
void foo(F f){
  return f();
}
Run Code Online (Sandbox Code Playgroud)

然后一切都编好了.

当用于推断另一个我不知道的lambda范围内的lambda表达式参数的返回类型时,是否有一些模糊的decltype怪癖?

c++ lambda decltype visual-c++-2010 c++11

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

与Perl的Net :: Telnet连接时,如何修复"未知终端类型"?

我在使用Perl的Net :: Telnet模块连接到SUSE linux机器时出了问题.代码如下所示:

my $t = new Net::Telnet (Timeout => 20);
$t->open($server);
$t->input_log("telnet.log");
$t->login($user, $pass);
my @lines=$t->cmd($command);
print @lines;
Run Code Online (Sandbox Code Playgroud)

日志文件如下所示:欢迎使用SUSE Linux Enterprise Server 10 SP1(x86_64) - 内核2.6.16.46-0.12-default(5).

vm-sles10u5 login: <myuser>
Password: 
Last login: Thu Feb 25 10:41:07 EST 2010 from <mymachine> on pts/5
tset: unknown terminal type network
Terminal type? 
Run Code Online (Sandbox Code Playgroud)

有什么建议?

perl telnet

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

如何添加视图助手目录(zend框架)

我从ZF(1.9.7)开始,我想从我所有项目之间共享的库中使用View Helpers.但我找不到如何将其目录添加到帮助程序路径.当我把它们放在应用程序的助手路径中时,我的牧师会罚款.

这是错误,我找到了ZF助手的路径,以及应用程序的路径.

object(ArrayObject)#71 (3) {
  ["exception"]=>
  object(Zend_Loader_PluginLoader_Exception)#70 (6) {
    ["message:protected"]=>
    string(151) "Plugin by name 'Voo' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/;C:/ZendStd/www/applis/VOO4_PROJECTX/views\helpers/"
    ["string:private"]=>
    string(0) ""
    ["code:protected"]=>
    int(0)
    ["file:protected"]=>
    string(89) "C:\Program Files\Zend\ZendServer\share\ZendFramework\library\Zend\Loader\PluginLoader.php"
    ["line:protected"]=>
    int(401)
Run Code Online (Sandbox Code Playgroud)

最好的问候
塞德里克

php zend-framework view-helpers

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

如何对返回ContentResult的ActionResult进行单元测试?

我想单元测试以下ASP.NET MVC控制器索引操作.我该如何替换下面断言中的实际参数(以?为标记).

using System.Web.Mvc;
namespace MvcApplication1.Controllers
{
    public class StatusController : Controller
    {
        public ActionResult Index()
        {
            return Content("Hello World!");
        }
    }
}


[TestMethod]
public void TestMethod1()
{
    // Arrange
    var controller = CreateStatusController();

    // Act
    var result = controller.Index();

    // Assert
    Assert.AreEqual( "Hello World!.", ? );
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unit-testing actionresult

16
推荐指数
2
解决办法
2万
查看次数

jquery如何捕获输入键并将事件更改为选项卡

我想要一个jquery解决方案,我必须接近,需要做什么?

$('html').bind('keypress', function(e)
{
     if(e.keyCode == 13)
     {
         return e.keyCode = 9; //set event key to tab
     }
});
Run Code Online (Sandbox Code Playgroud)

我可以返回false并且它阻止按下回车键,我想我可以将keyCode更改为9以使其成为选项卡但它似乎不起作用.我必须接近,发生了什么事?

jquery events keyevent

70
推荐指数
6
解决办法
13万
查看次数

是否有工具列出C函数使用和输出的全局变量?

我想列出函数消耗的全局变量/宏以及函数输出.例如,对于:

void myfn(void) {
  out1 = in + 1;
  out2 = 2;
}
Run Code Online (Sandbox Code Playgroud)

..该工具将输入列为'in',输出列为'out1'和'out2'.

有谁知道这样的工具?

c code-analysis global-variables

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

应用重置CSS <em>后,<code>和其他标签会丢失其默认样式

我发现我应该使用重置CSS文件来制作网站,但在我加入之后,所有<em><code>标签都会失去它们的风格.<em>不再是斜体,<code>不再是常量字体.

我通过添加来修复它em { font-style: italic; },但是我不能为所有失去风格的标签添加它吗?

有什么想法吗?

谢谢,Boda Cydo.

css css-reset

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

在 Java 中可靠地播放短音

我很想写一些 Java 代码,这些代码基本上只是播放一个简短的 .wav 文件——“短”我的意思是几分之一秒。(我使用的文件位于 /usr/share/sounds/generic.wav,供使用 Ubuntu 的人使用。)

问题是,我似乎无法弄清楚如何可靠地播放该样本,即在我所有的尝试中,我可以让我的程序以 5 次中的 4 次左右播放声音,但永远不会 100%。

这是迄今为止作为独立程序效果最好的方法:

File soundFile = new File("/usr/share/sounds/generic.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(soundFile);
clip.open(inputStream);
clip.start(); 
Run Code Online (Sandbox Code Playgroud)

(请注意,代码甚至没有调用 clip.stop() )但即使有那个,如果我连续运行几次,迟早会有一个没有播放任何声音的运行,但没有也有例外。

我尝试过的变化:

1) 将音频文件加载到字节数组中并将其传递给 clip.open

2) 将 LineListener 附加到剪辑以等待 STOP 事件

加上一些随机试验,但到目前为止,我还没有设法创建每次都有效的代码。

我还知道以下错误:http : //bugs.sun.com/bugdatabase/view_bug.do?bug_id=4434125但我使用的是 Java 1.6 并且报告声称 Java 1.5 或更高版本应该没问题.

有任何想法吗?是PulseAudio吗?

java audio

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

带有CheckBoxes和SubItemImages的TListView

使用标准的TListView组件(ViewStyle = vsReport),我附加了一个TImageList,并成功地将图像添加到第一列(Item.ImageIndex := 0)和后续列(Items[0].SubItemImages[1] := 1).

如果我然后将CheckBoxes属性设置为True,则SubItems上的图像将消失.主图像保留(由一个设置Item.ImageIndex),但SubItems丢失了他们的图像.

我也注意到OnGetSubItemImage事件不会发生时CheckBoxes = True

有没有人知道这方面的方法?

delphi listview

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

在PowerShell中订阅对象的静态事件的语法是什么?

Register-ObjectEvent在必需参数InputObject中查找对象实例.对象的静态(共享)事件的语法是什么?

更新:更正TimeChanged的语法:

$systemEvents = [Microsoft.Win32.SystemEvents]
$timeChanged = Register-ObjectEvent -InputObject $systemEvents
-EventName 'TimeChanged' -Action { Write-Host "Time changed" }
Run Code Online (Sandbox Code Playgroud)

不幸的是,系统事件不会在PowerShell ISE中发出信号.以下是使用对象的staic事件的示例:

$networkInformation = [System.Net.NetworkInformation.NetworkChange];
$networkAddressChanged = Register-ObjectEvent -InputObject $networkInformation 
-EventName 'NetworkAddressChanged' 
-Action { Write-Host "NetworkAddressChanged event signaled" }
Run Code Online (Sandbox Code Playgroud)

powershell events powershell-2.0

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