首先,我有一个片段如下:
struct D
{
int sum;
D():sum(0){accum();}
void incre(int arg){sum+=arg;}
void accum()
{
int arr[]={1,2,3,4,5};
std::for_each(arr,arr+ sizeof(arr)/sizeof(int),
std::bind1st(std::mem_fun(&D::incre),this));
cout << sum <<endl;
}
};
int main()
{
D();
}
Run Code Online (Sandbox Code Playgroud)
它编译得正确.但是在我将成员函数更改incre
为之后
void incre(int & arg){sum+=arg;}
Run Code Online (Sandbox Code Playgroud)
它产生了错误,比如
typename _Operation::result_type std::binder1st<_Operation>::operator()
(typename _Operation::second_argument_type&) const [with _Operation =
std::mem_fun1_t<void, D, int&>]’ cannot be overloaded
Run Code Online (Sandbox Code Playgroud)
你对发生了什么有什么想法吗?我会感激任何帮助.
大家.
我在arch linux上使用openjdk-7.我最近开始学习Java,遇到了这样的问题:
我在/home/hqwrong/Code/java/mew/Mouth.java创建了一个文件:
package mew;
public class Mouth{
public static void main(String argv[]){
pickle.Say s = new pickle.Say();
}
}
Run Code Online (Sandbox Code Playgroud)
另一个在/home/hqwrong/Code/java/pickle/Say.java:
package pickle;
public class Say{
public Say(){
System.out.println("Say");
}
}
Run Code Online (Sandbox Code Playgroud)
我将Say.java编译为Say.class,使用:
$ cd /home/hqwrong/Code/java/pickle
$ javac Say.java
Run Code Online (Sandbox Code Playgroud)
这是成功的.
我编译了Mouth.java,使用:
$ cd ../mew
$ export CLASSPATH=.:/home/hqwrong/Code/java/
$ javac Say.java
Run Code Online (Sandbox Code Playgroud)
没有错误消息.
但在我输入之后:
$ java说
我有:
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.mew
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:649)
at java.lang.ClassLoader.defineClass(ClassLoader.java:785)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native …
Run Code Online (Sandbox Code Playgroud) 看看这个简单的程序:
(defun test ()
(interactive)
(push-mark)
(setq mark-active t)
(search-forward "a" nil nil 1))
Run Code Online (Sandbox Code Playgroud)
它将光标移动到最近的'a',并突出显示路径.当然,这很明显.
但它的行为有所不同,具体取决于执行此过程后您的下一个输入是什么,例如,您输入一个字符,如'b'或\ Cg,突出显示消失,但如果您输入\ Cf或\ Ce,则突出显示保持不变.所以这是我的问题:是什么让这些输入表现不同?