小编Mah*_*esh的帖子

非类型模板参数

我知道非类型模板参数应该是一个常量整数表达式.有人可以解释为什么会如此?

template <std::string temp>
void foo()
{
     // ...
}
Run Code Online (Sandbox Code Playgroud)
error C2993: 'std::string' : illegal type for non-type template parameter 'temp'.
Run Code Online (Sandbox Code Playgroud)

我理解常量积分表达式是什么.不允许非常量类型的原因是什么,如std::string上面的代码片段?

c++ templates

81
推荐指数
4
解决办法
6万
查看次数

在Java中创建一个新的ArrayList

假设我有一个名为的类Class,

我想创建一个新的ArrayList,它的值将是类型Class.

我的问题是:我该怎么做?

我无法从Java Api中理解.

我试过这个:

ArrayList<Class> myArray= new ArrayList ArrayList<Class>;
Run Code Online (Sandbox Code Playgroud)

java

39
推荐指数
3
解决办法
30万
查看次数

C++ Wrapper类的含义是什么?

我在理解包装类时有点麻烦.如果有人可以帮助提供适当的例子,那将是很好的.

  1. 什么是C++包装类以及编写它的具体情况是什么?
  2. 有什么用途?

谢谢.

c++ class wrapper

38
推荐指数
3
解决办法
7万
查看次数

始终未显示依赖于Caller-Allowable-Codebase属性的警告

我在签名的Java小程序中有以下清单信息.我的构建环境很旧,目前仅限于JDK 1.6.

Manifest-Version: 1.0
Implementation-Vendor: Foo, Inc.
Application-Library-Allowable-Codebase: * 
Application-Name: FooBar
Permissions: all-permissions 
Sealed: true 
Created-By: 1.6.0_20 (Sun Microsystems Inc.)
Caller-Allowable-Codebase: *
Codebase: https://*
Run Code Online (Sandbox Code Playgroud)

根据Java文档 -

如果将与顶级域(如*.org)一起使用的独立星号(*)或星号指定为Caller-Allowable-Codebase属性的值,则从JavaScript代码到RIA的调用将显示安全警告.用户可以选择允许呼叫或阻止呼叫.还提供了记住选择的选项.如果用户选择记住该选项,则当它从同一来源的JavaScript代码接收调用时,不会显示同一RIA的其他警告消息.

我的Web应用程序中的Java脚本代码依赖于Applet的返回代码来显示门户上的适当状态.显示的消息因返回的状态代码而异.但是为了实现这一点,应该出现Java警告窗口.在Firefox v51和JRE 1.8.121中,此警告窗口有时会显示.如果没有,则不存在JavaScript和Applet之间的通信.什么可能是警告窗口不会一直出现的问题?

java applet

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

带括号的成员函数的地址出错

我找到了有趣的东西.错误消息说明了一切.在获取非静态成员函数的地址时不允许使用括号的原因是什么?我在gcc 4.3.4上编译了它.

#include <iostream>

class myfoo{
    public:
     int foo(int number){
         return (number*10);
     }
};

int main (int argc, char * const argv[]) {

    int (myfoo::*fPtr)(int) = NULL;

    fPtr = &(myfoo::foo);  // main.cpp:14

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

错误:main.cpp:14:错误:ISO C++禁止获取非限定或带括号的非静态成员函数的地址,以形成指向成员函数的指针.说'&myfoo :: foo'

c++ function-pointers pointer-to-member

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

为什么在C++中指向引用的指针是非法的?

正如标题本身所提到的 - 为什么指向引用的指针是非法的,而反向在C++中是合法的?

谢谢.

c++ pointers reference

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

删除批处理文件中的前导零

在我的应用程序中,我得到一个前导零的数字.我试图修剪前导零并得到实际数字.我尝试使用/aswitch,它将赋值的右侧视为算术表达式.所以我尝试过:

SET /a N = 00027
Run Code Online (Sandbox Code Playgroud)

上面给出了23的输出,它是八进制数27的十进制等值.然后我在网上找到了解决方案.

SET N = 00027
SET /a N = 1%N%-(11%N%-1%N%)/10
Run Code Online (Sandbox Code Playgroud)

这似乎有效,并给出了输出27.是否有更简单的方法来修剪批处理文件中的前导零?

trim batch-file zero

19
推荐指数
4
解决办法
1万
查看次数

"静态类型"和"自由形式"对C++意味着什么?

C++标签wiki中,提到了它

C++是一种静态类型,自由格式,多范式,编译的通用编程语言.

有人可以解释一下"静态打字"和"自由形式"吗?

谢谢.

c++

11
推荐指数
2
解决办法
2583
查看次数

前瞻性类别,功能

当函数的前向声明在源文件(.cpp)中工作时,为什么同样的不适用于类?

谢谢.

// main.cpp

void forwardDeclaredFunction() ; // This is correct 

class One ; // Why this would be wrong 

int One:: statVar = 10 ;

void
One :: anyAccess() {

 std::cout << "\n statVar:\t " << statVar ;
 std::cout << "\n classVar:\t" << classVar ;
}

class One {

 public:
  void anyAccess() ;
  static int statVar ;

 private:
  int  classVar ;

} ;


int main (int argc, char * const argv[]) {

 One *obj = new One ;

        return …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

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

AVAudioRecorder averagePowerForChannel始终返回-120.0

我正在尝试使用AVAudioRecorder的averagePowerForChannel方法来监控iPad/iPhone应用程序的麦克风输入电平.我有一个回调轮询循环中的平均水平 - 在iPhone上它工作正常并返回合理的水平,但由于某种原因在iPad上它总是返回-120.0.

这是我的一些设置代码:

- (void) setupMic {
if (micInput) {
    [micInput release];
    micInput = nil;
}
NSURL *newURL = [[NSURL alloc] initFileURLWithPath:@"/dev/null"];

NSMutableDictionary *recordSettings = [[NSMutableDictionary alloc] init];

[recordSettings setObject:[NSNumber numberWithInt:kAudioFormatAppleLossless] forKey: AVFormatIDKey];
[recordSettings setObject:[NSNumber numberWithFloat:22050.0] forKey: AVSampleRateKey];
//  [recordSettings setObject:[NSNumber numberWithInt:2] forKey:AVNumberOfChannelsKey];
[recordSettings setObject:[NSNumber numberWithInt:12800] forKey:AVEncoderBitRateKey];
[recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityLow] forKey: AVEncoderAudioQualityKey];

micInput = [[AVAudioRecorder alloc] initWithURL:newURL settings:recordSettings error:nil];
//  [micInput setMeteringEnabled:YES];

[newURL release];
[recordSettings removeAllObjects];
[recordSettings release];
}
Run Code Online (Sandbox Code Playgroud)

以及我的开始录制方法:

- (void) startRecording { …
Run Code Online (Sandbox Code Playgroud)

avfoundation avaudiorecorder ios avaudiosession

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