问题列表 - 第22635页

我们如何解决C4055警告?

这是C4055警告消息.

'conversion':从数据指针'type1'到函数指针'type2'
数据指针被转换(可能不正确)到函数指针.
这是/ Za下的1级警告和/ Ze下的4级警告.

我们如何解决这个警告?(以正确的方式,不是一招)

编辑:

这是一个代码片段有警告.

typedef NTSTATUS (*t_ObRegisterCallbacks)
(
  IN POB_CALLBACK_REGISTRATION CallBackRegistration,
  OUT PVOID *RegistrationHandle
);

t_ObRegisterCallbacks   g_ObRegisterCallbacks = NULL;

void foo()
{
  g_ObRegisterCallbacks = (t_ObRegisterCallbacks)MmGetSystemRoutineAddress(&regName); //C4055
}
//warning C4055: 'type cast' : from data pointer 'PVOID' to function pointer 't_ObRegisterCallbacks'
Run Code Online (Sandbox Code Playgroud)

c visual-studio visual-c++

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

在c ++中,如何创建从T到T*的转换?

在准备OOP考试时,我很高兴看到g ++编译下面的代码(没有实例化),即使它似乎毫无意义:

template<class T> void f() {
    T t = "a";
    t += 5.6;
    t->b();
    T* p = t;
    p = p*(t/"string");
}
Run Code Online (Sandbox Code Playgroud)

然后我开始着手实现这个实例化和编译.

我创建了以下类:

class A {
    public:
    A(const char* s) {}
    void operator+=(double d) {}
    A operator/(char* str) {return A("");}
    A* operator->() {return this;}
    A* operator=(A& a) {return &a;}
    void b() {}
};
A* operator*(A* a, A b) {return new A("");}
Run Code Online (Sandbox Code Playgroud)

它允许几乎所有的模板工作,除了线

T* p = t;
Run Code Online (Sandbox Code Playgroud)

我的问题是,什么运算符或构造函数将使这一行工作?目前它给我"错误:初始化时无法将'A'转换为'A*'"

c++ templates

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

C#和IME - 获取当前输入文本

我使用日语IME作为示例,但在使用IME输入的其他语言中可能是相同的.

当用户使用IME将文本键入文本框时,将触发KeyDown和KeyUp事件.但是,在用户使用Enter键验证IME中的输入之前,TextBox.Text属性不会返回键入的文本.

因此,例如,如果用户键入5次あ然后验证,我将得到5个keydown/keyup事件,每次TextBox.Text返回""(空字符串),最后我将得到一个keydown/keyup为enter键和TextBox.Text将直接变成"あああああ".

在用户输入结束之前,如何在用户输入时获取用户输入?

(我知道如何在网页上的<input>字段的javascript中执行此操作,因此必须可以在C#中使用!)

c# unicode ime

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

替换文件中的多个字符串

我试图替换文件中的多个字符串.

fp1 = open(final,"w")
data = open(initial).read()
for key, value in mydict.items():
    fp1.write(re.sub(key,value, data)
fp1.close()
Run Code Online (Sandbox Code Playgroud)

但只有我的最后一个键值被替换.如何替换文件中的所有键值.有没有更好的方法来替换文件中的多个字符串.

谢谢

`

python

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

你如何在记事本++中运行python脚本?

当我使用textmate时,我只需点击"apple + r"即可解释该程序.如何从记事本++中运行程序?我看到F5用于"运行",但指向Python.exe只是打开一个运行python的终端.它不会运行我的脚本.

python notepad++ nppexec

39
推荐指数
5
解决办法
8万
查看次数

Glassfish JMS(平面文件)身份验证

可以在Glassfish上轻松设置平面文件JMS身份验证(请参阅http://docs.sun.com/app/docs/doc/821-0027/aeofg?a=view).

问题是客户端部分.我正在编写一个独立的Java客户端来通过JNDI 访问我的JMS资源(ConnectionFactoryDestination).

如何从该客户端将用户名和密码传递给JMS?

我已经尝试过几个例子:

1)在InitialContext中添加这些凭据

 context.addToEnvironment(InitialContext.SECURITY_PRINCIPAL, "username");
 context.addToEnvironment(InitialContext.SECURITY_CREDENTIALS, "password");
Run Code Online (Sandbox Code Playgroud)

2)在连接工厂中使用JMS用户名和密码参数

 connectionFactory.createConnection();
Run Code Online (Sandbox Code Playgroud)

但是,这些方法都不起作用.

当我运行程序时,我得到:

com.sun.messaging.jms.JMSSecurityException: [C4084]: Échec de 
l'authentification de l'utilisateur :  user=guest, broker=localhost:7676(34576) 
at com.sun.messaging.jmq.jmsclient.ProtocolHandler.authenticate
(ProtocolHandler.java:1084)
Run Code Online (Sandbox Code Playgroud)

所以它一直试图与"访客"用户进行身份验证.

对于此测试,我使用connection.NORMAL.deny.user=*了权限规则(accesscontrol.properties).

有趣的是,即使在获得连接因子之前,也会抛出此异常:

 InitialContext context = new InitialContext();

 ConnectionFactory connectionFactory = 
 (ConnectionFactory)context.lookup("jms/middleware/factory"); 
 /* The exception is thrown here, so authentication MUST have happened 
    before already (i.e. NOT in the createConnection(username, password) method) */
Run Code Online (Sandbox Code Playgroud)

希望有人知道答案.

提前谢谢了

问候,

迪内希

authentication passwords jms credentials glassfish

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

具有IOC容器的策略设计模式 - 具体为Ninject

我有一个课程需要使用策略设计模式.在运行时,我需要切换不同的算法,以查看对应用程序性能的影响.

有问题的类目前在构造函数中有四个参数,每个参数代表一个算法.

如何使用Ninject(或通用方法)仍然可以使用IOC但使用策略模式?

目前的限制是我的内核(容器)知道每个算法接口,但只能绑定到一个具体的类.我现在可以看到的唯一方法是在构造中传递所有八种算法,但是使用不同的接口,但这似乎完全是不必要的.如果我没有使用IOC容器,我不会这样做,所以必须有一些解决方法.

代码示例:

class MyModule : NinjectModule 
{
    public override void Load() 
    {
        Bind<Person>().ToSelf();
        Bind<IAlgorithm>().To<TestAlgorithm>();
        Bind<IAlgorithm>().To<ProductionAlgorithm>();
    }
}
Run Code Online (Sandbox Code Playgroud)

人需要使用这两种算法,以便我可以在运行时切换.但只有TestAlgorithm被绑定,因为它是容器中的第一个.

c# design-patterns ninject ioc-container strategy-pattern

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

许多Java应用程序的集中日志记录:Syslog vs JMS vs Http vs Local文件

我希望我的所有应用程序日志都集中在一起(理想情况下是近乎实时的).我们将使用Log4 Appender.我应该使用哪一个:

  1. 在JMS队列中发送日志事件
  2. Syslog/syslog-ng
  3. 写入本地文件并使用rsync(每3秒)复制日志
  4. 对集中式REST Http服务执行POST

你在用哪一个?

java rest logging jms syslog

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

(Java)查找数组中的所有可能对

当我尝试做这样的事情时,我意识到我真的需要上大学!

无论如何,我有一个字符串数组(275)我需要循环遍历它们并在java中创建所有可能对的字符串.

我一直在学习递归,但我找不到答案.

谢谢

java recursion

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

十字架初始化有什么迹象?

考虑以下代码:

#include <iostream>
using namespace std;

int main()
{
    int x, y, i;
    cin >> x >> y >> i;
    switch(i) {
        case 1:
            // int r = x + y; -- OK
            int r = 1; // Failed to Compile
            cout << r;
            break;
        case 2:
            r = x - y;
            cout << r;
            break;
    };
}
Run Code Online (Sandbox Code Playgroud)

G ++抱怨.crosses initialization of 'int r'我的问题是:

  1. 什么是crosses initialization
  2. 为什么第一个初始化程序x + y通过编译,但后来失败了?
  3. 所谓的问题是什么crosses initialization

编辑 …

c++ initialization

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