我最近下载了wiiuse库,但在使用它时遇到了问题.我写了一个小代码,但是在连接之后远程断开连接.即使是作者网站上的代码也不起作用; 当我尝试该代码时也会发生同样的情况.我尝试了我在库中使用的演示应用程序但是工作正常.
我正在使用Windows XP SP3和MinGW(gcc 4.5.0)来编译代码.
我在Linux上也尝试过相同的功能.在那里,它没有受到断开问题的困扰,但它在拾取正确的事件时遇到了问题.无论我做什么,它只会发出/捕获WIIUSE_NONE.将WIIUSE_EVENT永远不会发出/捕获.
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include "wiiuse.h"
#define NUMBER_OF_REMOTES 1
void handle_event(struct wiimote_t* rm){
if(IS_PRESSED(rm, WIIMOTE_BUTTON_UP)){
printf("\n - IR Activated - \n");
wiiuse_set_ir(rm,1);
}
else if(IS_PRESSED(rm, WIIMOTE_BUTTON_DOWN)){
printf("\n - IR Dectivated - \n");
wiiuse_set_ir(rm,0);
}
if(WIIUSE_USING_IR(rm)){
for(int i=0; i<4; i++){
if(rm->ir.dot[i].visible){
printf("IR source %i: (%u, %u)\n", i, rm->ir.dot[i].x, rm->ir.dot[i].y);
}
printf("IR cursor: (%u, %u)\n", rm->ir.x, rm->ir.y);
printf("IR z distance: %f\n", rm->ir.z);
}
}
}
void handle_disconnect(struct …Run Code Online (Sandbox Code Playgroud) 我非常确信我已经发现,就C++ 0x而言,这i = ++i 并不是未定义的,但我无法判断是否有i += ++i明确定义的行为 .任何接受者?
我有一个id为"tbl"的表,它有2行3列.每个单元格(td)都有一个明确定义的id.此外,该表有一个调用函数foo()的onclick事件.只要单击任何单元格,就会生成onclick().表标签是
<table id ="tbl"width ="80%"height ="20%"onclick ="javascript:foo()">
我也尝试过javascript:foo(this)
我想找出被点击的表格单元格的id.
我试过以下javascript
function foo(e)
{
var sender = (e && e.target) || (window.event && window.event.srcElement);
alert("Sender" + sender.id);
}
Run Code Online (Sandbox Code Playgroud)
这适用于Google Chrome和IE,但不适用于Firefox.在Firefox中,发件人未定义.如何在Firefox中获取调用者单元格?
我正在开发一个自定义控件,它是表和按钮的组合.我还有一个外部CSS样式表,它定义了这些元素的样式.
Control的类型是CompositeControl,在名称空间MyControls下,类的定义在类文件CompositeControl.cs中,生成的dll文件名为MyControls.dll
样式表称为styles.css,与CompositeControl.cs位于同一文件夹中
对于每个控件(Button,TableCell等),我已经指定了CssClass属性.
当我将此控件添加到我的ASP.NET网页并在localhost运行时检查HTML源代码时,我看到所有控件标记都正确设置了class属性,但源代码不包含<link>包含外部所需的标记样式表.
有人能告诉我还需要做些什么才能使这项工作成功吗?谢谢.
我尝试了以下代码:
int main()
{
int x {23.22};
}
Run Code Online (Sandbox Code Playgroud)
其中包括需要缩小的初始化,但代码编译正常,没有任何错误或警告.另一方面,以下代码给出错误:
int main()
{
int x[]{23.22};
}
Run Code Online (Sandbox Code Playgroud)
我发现了一个bug还是什么?
PS:我目前正在使用GCC 4.5.0
我在gcc 4.4.5上尝试了以下代码.
如果成员'data'不存在,则代码执行正常,但在其存在时,它会崩溃.当派生类'dtor不是虚拟的时,它也不会崩溃.
我知道在这两种情况下,行为都是未定义的,如C++ 03(5.3.5/3)中所列,但仍有人可以向我提供一些解释为什么在后一种情况下会崩溃?
是的,我知道UB意味着任何事情都可能发生,但我仍然想知道特定于实现的细节.
#include<iostream>
using std::cout;
struct base{
int data;
base(){
cout << "ctor of base\n";
}
~base(){
cout << "dtor of base\n";
}
};
struct derived : base{
derived(){
cout << "ctor of derived\n";
}
virtual ~derived(){
cout << "dtor of derived\n";
}
};
int main(){
base *p = new derived;
delete p;
}
Run Code Online (Sandbox Code Playgroud) 我最近开始阅读 Andrei Alexandrescu 的 Modern C++ Design。阅读编译时断言后,我尝试了以下代码:
模板<bool> struct CompileTimeChecker
{
CompileTimeChecker(...){};
};
模板<> struct CompileTimeChecker<false>{};
#define STATIC_CHECK(expr, msg) \
{\
类 ERROR_##msg{}; \
(void)sizeof(CompileTimeChecker<(expr)!=0>((ERROR_##msg()))); /*第1行*/ }
int main()
{
STATIC_CHECK(sizeof(char)>sizeof(int),TypeTooNarrow); /*第2行*/
STATIC_CHECK(sizeof(char)<sizeof(int),TypeTooNarrow); /*第3行*/
}
由于第 2 行,代码不应编译,但编译正常。如果我将第 1 行更改为
(void)(CompileTimeChecker<(expr)!=0>((ERROR_##msg()))); /*第1行*/ }
或者
新的 CompileTimeChecker<(expr)!=0>((ERROR_##msg())); /* 第 1 行 */ }
它按预期工作。我不明白。
我有一个包含QMap对象的类:
QMap<QString, Connection*> users;
Run Code Online (Sandbox Code Playgroud)
现在,在下面的函数Foo()中,if子句总是返回false,但是当我遍历map时,比较的QString,即str1存在于键中.
void Foo(QString& str1, QString& str2)
{
if(users.contains(str1))
users[str1]->doStuff(str2);
else
{
for(QMap<QString, Connection>::iterator iter = users.begin();
iter!= users.end();iter++)
qDebug()<<iter.key();
}
}
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?为什么不包含()返回true?
我一直在试图建立一个模板类(Test2即需要2个模板参数),Type1和Type2.众所周知,第二个参数也是一个带有2个模板参数(TypeA和TypeB)的模板化类.
现在,为了构造一个对象Test2,我希望用户能够使用两种类型的构造函数中的任何一种:
Type1和的对象 Type2.Type1,TypeA和TypeB.我写了以下代码:
#include <iostream>
template<class TypeA, class TypeB>
struct Test
{
TypeA t1obj;
TypeB t2obj;
Test(const TypeA& t1, const TypeB& t2)
: t1obj(t1), t2obj(t2) {std::cout<<"Test::Type1, Type2\n";}
};
template<class Type1,
template<typename TypeX, typename TypeY> class Type2 >
struct Test2
{
Type1 t1obj;
Type2<typename TypeX, typename TypeY> t2obj; //Line 17
Test2(const Type1& t1,
const Type2<typename TypeX, typename …Run Code Online (Sandbox Code Playgroud)