问题列表 - 第40657页

在模板中输出嵌套类

我正在尝试重载ostream运算符以允许输出模板内的嵌套类.但是,编译器无法将实际函数调用绑定到我的重载.

template <class T>
struct foo
{
    struct bar { };
};

template <class T>
std::ostream& operator << (std::ostream& os, 
    const typename foo<T>::bar& b)
{
    return os;
}

int main()
{
    foo<int>::bar b;
    std::cout << b << std::endl; // fails to compile
}
Run Code Online (Sandbox Code Playgroud)

如果我将重载定义为内联friend函数,这将编译:

template <class T>
struct foo
{
    struct bar 
    { 
        friend std::ostream& operator << (std::ostream& os, const bar& b)
        {
            return os;
        }
    };
};
Run Code Online (Sandbox Code Playgroud)

但我宁愿在课外定义重载.这可能吗?

c++ templates iostream

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

在java中录制流媒体音频?

我试图建立一个节目的录制互联网音频流的一部分,并将其保存到一个文件中(最好是MP3或WAV).我到处寻找,我找不到任何体面的方法来做到这一点.我发现,好像他们会工作(NativeBass和Xuggle)两个不同的库,但也支持64位Windows这正是我需要的.

有没有人知道使用java保存一部分互联网音频流的简单方法?(如果重要的话,那就是"audio/mpeg"流).

编辑:好的,我发现了一种似乎有用的方法.但我还有一个问题

import java.net.URLConnection;
import java.net.URL;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.FileOutputStream;
import java.io.File;
public class Test{

    public static void main (String[] args){
        try{
            URLConnection conn = new URL("http://streamurl.com/example").openConnection();
            InputStream is = conn.getInputStream();

            OutputStream outstream = new FileOutputStream(new File("C:/Users/Me/Desktop/output.mp3"));
            byte[] buffer = new byte[4096];
            int len;
            long t = System.currentTimeMillis();
            while ((len = is.read(buffer)) > 0 && System.currentTimeMillis() - t <= 5000) {
                outstream.write(buffer, 0, len);
            }
            outstream.close();
        }
        catch(Exception e){
            System.out.print(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

经过一番搜索,我从这里得到了大部分的答案.但是,我要做的一件事就是只记录一段时间.如上所示,我试图只记录5秒的间隔.

long t = …
Run Code Online (Sandbox Code Playgroud)

java audio 64-bit record stream

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

如何从PSD文件中获取图层?

我想从PSD文件中检索所有图层并获取其名称,X和Y位置.

是否有C#Lib可以做到这一点?

我从CodeProject 尝试过这个lib,但我总是得到TargetInvokeException.我的PSD文件来自Photoshop CS5 ......


探索Paint.NET,因为Robin建议我可以使用这段代码:

var ps = new PsdFile();
ps.Load(file);
var name = ps.Layers[0].Name;
var xy = ps.Layers[0].Location;
Run Code Online (Sandbox Code Playgroud)

我需要包含这些参考:

.net c# photoshop

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

基本的加法和减法选择

请帮忙.我对此很陌生,我非常需要这个.我需要创建一个程序,让你可以选择加法或减法.这是我目前的计划:

import javax.swing.JOptionPane;

public class RationalZ {

    public static void main(String args[]) {

        JOptionPane.showMessageDialog(null,
            "Enter the letter A for Addition and B Subtraction");

        String choice = JOptionPane.showInputDialog(
            "A=Addition B=Subtraction");

        if (choice == "a") {

            String strNum1 = JOptionPane.showInputDialog(
                "Enter a Number");
            String strNum2 = JOptionPane.showInputDialog(
                "Enter a second number");

            int aNum1 = Integer.parseInt(strNum1);
            int aNum2 = Integer.parseInt(strNum2);

            JOptionPane.showMessageDialog(null, aNum1 + aNum2);

            System.exit(0);

        } else {
            System.exit(0);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么了?即使在第一步我也无法得到它.

java class jcreator

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

用Python制作http服务器

刚做了一个http服务器,仅处理文件上传。想要向http服务器添加功能,以通过http客户端在Get请求中共享文件。

我不知道如何将文件显示给客户端。因此客户端可以使用http://127.0.0.1/filename.avi看到它

综上所述

http客户端正在将文件上传到http服务器。

http客户端正在通过http服务器监视文件

python http

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

从C#WPF中的组合框中获取选定的值

我刚开始使用WPF表单而不是Windows Forms表单.在Windows窗体表单中,我可以这样做:

ComboBox.SelectedValue.toString();
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作.

我如何在WPF中执行此操作?它似乎没有选择权.

c# wpf combobox

59
推荐指数
7
解决办法
31万
查看次数

Ruby on Rails Errno :: EPIPE断管

我知道有很多人在网上发帖,但我找不到解决方案.

在我的网站访问时间超过6-8小时后,我收到了Errno :: EPIPE.我读到它可能与ruby-mysql驱动程序有关,但还没有找到解决方案.这是完整的痕迹.我在带有乘客和mysql的apache上的rails服务器上运行ruby.谢谢您的帮助!!!

Errno::EPIPE Broken pipe

ruby-mysql (2.9.3) lib/mysql/protocol.rb:617:in `flush'
ruby-mysql (2.9.3) lib/mysql/protocol.rb:617:in `write'
/usr/lib/ruby/1.8/timeout.rb:53:in `timeout'
ruby-mysql (2.9.3) lib/mysql/protocol.rb:616:in `write'
ruby-mysql (2.9.3) lib/mysql/protocol.rb:640:in `simple_command'
ruby-mysql (2.9.3) lib/mysql/protocol.rb:545:in `synchronize'
ruby-mysql (2.9.3) lib/mysql/protocol.rb:638:in `simple_command'
ruby-mysql (2.9.3) lib/mysql/protocol.rb:413:in `statistics_command'
ruby-mysql (2.9.3) lib/mysql.rb:502:in `stat'
activerecord (3.0.0) lib/active_record/connection_adapters/mysql_adapter.rb:238:in `active?'
activerecord (3.0.0) lib/active_record/connection_adapters/abstract_adapter.rb:148:in `verify!'
activerecord (3.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:250:in `checkout_and_verify'
activesupport (3.0.0) lib/active_support/callbacks.rb:413:in `_run_checkout_callbacks'
activesupport (3.0.0) lib/active_support/callbacks.rb:93:in `send'
activesupport (3.0.0) lib/active_support/callbacks.rb:93:in `run_callbacks'
activerecord (3.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:249:in `checkout_and_verify'
activerecord (3.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_existing_connection'
activerecord (3.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:192:in `checkout'
activerecord (3.0.0) lib/active_record/connection_adapters/abstract/connection_pool.rb:190:in …
Run Code Online (Sandbox Code Playgroud)

mysql apache ruby-on-rails passenger broken-pipe

7
推荐指数
2
解决办法
4621
查看次数

关于android中最大堆大小和可用内存的两个问题

我看到堆大小会随着应用程序的需要自动增加,直到手机的最大堆大小为止.我还看到最大堆大小因设备而异.

所以我的第一个问题是,Android设备上的典型Max Heap大小是多少?我已经在一部手机上测试了内存分配,该手机能够使用超过40mb的堆,而另一部手机在20的mbs中发出OutOfMemory错误.常用设备中最低的是什么,普通设备上最高的是什么?有标准还是平均?

第二个问题,更重要的一个问题,是如何确保您能够使用每台设备可用的资源,但避免使用太多?我知道有一些方法,比如onLowMemory(),但这些方法似乎只适用于整个系统内存,而不仅仅是特定应用程序的堆.

有没有办法检测设备的最大堆大小,还检测可用堆内存何时达到应用程序的低点?

例如,如果设备仅允许最大堆24mb并且应用程序接近分配的限制,那么它可以检测并缩小.但是,如果设备可以舒适地处理更多,它将能够利用可用的东西.

谢谢

memory heap android

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

与MYSQL sha1相关时什么是"盐"?

与MYSQL sha1相关时什么是"盐"?我不知道与sha1密码加密有什么关系?有人可以解释一下它是什么吗?

mysql sha1 salt

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

Python和Ctypes:将结构作为指针传递给函数以获取数据

我已经看过其他答案,但似乎无法让这个工作.我正在尝试调用DLL中的函数来与SMBus设备进行通信.该函数接受一个结构的指针,该结构有一个数组作为其中一个字段.所以...

在C:

typedef struct _SMB_REQUEST
{
    unsigned char Address;
    unsigned char Command;
    unsigned char BlockLength;
    unsigned char Data[SMB_MAX_DATA_SIZE];
} SMB_REQUEST;
Run Code Online (Sandbox Code Playgroud)

我想我必须在DLL填充数据数组时设置Address,Command和BlockLength的值.需要此结构的函数将其作为指针

SMBUS_API int SmBusReadByte( SMBUS_HANDLE handle, SMB_REQUEST *request );
Run Code Online (Sandbox Code Playgroud)

所以我在Python中设置了这样的结构:

class SMB_REQUEST(ctypes.Structure):
    _fields_ = [("Address", c_char),
            ("Command", c_char),
            ("BlockLength", c_char),
            ("Data", type(create_string_buffer(SMB_MAX_DATA_SIZE))]
Run Code Online (Sandbox Code Playgroud)

*注意:我也尝试过数据类型的ctypes.c_char*SMB_MAX_DATA_SIZE*

要将指向此类型结构的指针传递给函数,我首先尝试将其初始化,如下所示:

data = create_string_buffer(SMB_MAX_DATA_SIZE)
smb_request = SMB_REQUEST('\x53', \x00', 1, data)
Run Code Online (Sandbox Code Playgroud)

这回应:

TypeError: expected string or Unicode object, c_char_Array_32 found
Run Code Online (Sandbox Code Playgroud)

如果我尝试省略数据数组,如下所示:

smb_request = SMB_REQUEST('\x53', \x00', 1)
Run Code Online (Sandbox Code Playgroud)

不,错误.但是,当我尝试将此传递给函数时:

int_response =  smbus_read_byte(smbus_handle, smb_request))
Run Code Online (Sandbox Code Playgroud)

我明白了:

ArgumentError: argument 2: <type 'exceptions.TypeError'>: expected …
Run Code Online (Sandbox Code Playgroud)

python struct ctypes pointers

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