Socket有一个构造函数,它将winsock SOCKET作为参数并将其存储在一个私有变量中:
Socket::Socket(SOCKET s) {
this->s = s;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个类"GameSocket"来解析我的Socket类中的数据:
class GameSocket : public Socket {
protected:
void ParseData(unsigned char* data, int size);
};
Run Code Online (Sandbox Code Playgroud)
在这些类的旁边,我有一个"Server"类,可以在需要时创建新的套接字:
GameSocket* Server::Accept() {
SOCKET a = accept(s, 0, 0);
if(a==SOCKET_ERROR) {
return 0;
}
else {
return new GameSocket(a);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,这给了我最后一个"其他"的错误:
error C2664: 'GameSocket::GameSocket' : cannot convert parameter 1 from 'SOCKET' to 'const GameSocket &'
Run Code Online (Sandbox Code Playgroud)
在处理派生类时,我必须遗漏构造函数...
不要对我太过刻意,我对C++和OOP比较陌生
我一直在为新游戏创建一个对等连接,不使用对等选择器.然而,我对这里的内容感到愚蠢:
- (void)session:(GKSession *)session didReceiveConnectionRequestFromPeer:(NSString *)peerID {
NSLog(@"I GOTS A CONNECTION REQUEST");
if(connected == YES) {
//deny all requests
}
else if(connected == NO) {
[session acceptConnectionFromPeer:peerID error:???];
}
}
Run Code Online (Sandbox Code Playgroud)
我应该把问号放在哪里?文档说NSError**.
我想用它BackgroundWorker来从GUI执行数据库事务.
我如何命令BackgroundWorker执行工作然后等待工作人员完成,同时保持GUI响应?
我是否必须DoEvents为此目的使用,还是有另一种方式?
我正在为iPhone编写应用程序.我对循环还不是很好.如何将此代码缩短为for循环?
if(CGRectContainsRect([space1 frame], [box frame])){
space1.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space2 frame], [box frame])){
space2.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space3 frame], [box frame])){
space3.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space4 frame], [box frame])){
space4.image = [UIImage imageNamed:@"box.png"];
}
else if(CGRectContainsRect([space5 frame], [box frame])){
space5.image = [UIImage imageNamed:@"box.png"];
}
Run Code Online (Sandbox Code Playgroud) 阅读谷歌后,我仍然不太明白这是什么/意味着什么?有人可以解释一下吗?可能是一个简单的例子?非常感谢你.
我开始玩一个小游戏,并从http://reinerstileset.4players.de下载了一些很棒的2d精灵.然而,他的背景(未知)是我想要删除的棕色.
有没有办法可以检查(1,1)处的像素并将该像素设置为删除的颜色键,这样我就不会得到对象的背景颜色?
我真的很喜欢使用IEnumerable扩展方法.
但有时我最终会得到一些只实现IEnumerable的集合,因此它们不可用.将集合转换为可以使用这些方法的表单的最简单方法是什么?
更一般地说,有人可以向我解释这两种类型之间的区别以及为什么这些方法对于新的IEnumerable存在的历史背后的历史?
我有一个数组(用零和一个填充) - > ArrayWithContent [5] = {1,0,0,1,1}; 现在我希望将其转换为变量,以便我可以读出它的总值.
0001 0011 = 19
for(i=0; i<5; i++)
{
OneValue = ArrayWithContent[i];
Variable = OneValue;
Variable >>= 1; // Send the zero or one to right.... continue to fill it up
}
Run Code Online (Sandbox Code Playgroud)
显示变量的内容我现在希望它显示值19.
我知道我做错了,正确的方法是什么?指针和地址?
基本上我有一个Parent超类,即被称为MAMMAL.哺乳动物默认扩展UIImageview.现在我有虎类,它反过来扩展了MAMMAL类,而哺乳动物类也就是母乳喂养方法.
在我的哺乳动物课上,我宣布使用breastfeedbaby方法.
现在,我希望能够做一些事情,比如添加一个动物列表,这些动物可以扩展哺乳动物,并拥有自己的母乳喂养实施,循环播放和阵列,然后施放给哺乳动物并做[哺乳动物的母乳喂养宝宝].
我希望每只动物都可以使用自己的母乳喂养方法,因为它们都覆盖了它,但我的问题是它会从哺乳动物身上调用母乳喂养.如果我在那里宣布它.
在java中,我可以使用接口,也可以只使用抽象方法的抽象类,并使用不同的实现覆盖该方法.
那有意义吗?我的问题是,如果我不在哺乳动物中省略哺乳宝宝的方法,那么它将在哺乳动物中称为哺乳宝宝方法.如果我在哺乳动物中省略了母乳喂养方法.该课程将是黄色,警告说我没有正确实现mammal.h类.如果我这样做,就会调用动物的母乳喂养方法.我应该在这里使用协议,但据我所知,协议与java中的接口不同.
我不知道它是否有意义,但无论如何都要感谢.
为什么以下代码会产生错误?我不明白为什么花括号会有所作为.
#include<stdio.h>
int main(void)
{
{
int a=3;
}
{
printf("%d", a);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) objective-c ×3
c ×2
c# ×2
for-loop ×2
iphone ×2
xna ×2
.net ×1
3d ×1
arrays ×1
c#-4.0 ×1
c++ ×1
class ×1
constructor ×1
curly-braces ×1
derived ×1
foundation ×1
generics ×1
ienumerable ×1
nserror ×1
oop ×1
polymorphism ×1
sprite ×1
winforms ×1
wpf ×1