只是一个简单的问题.
我写了一些返回自定义类Command的代码,我写的代码似乎工作正常.我想知道是否有任何理由我不应该这样做.它是这样的:
Command Behavior::getCommand ()
{
char input = 'x';
return Command (input, -1, -1);
}
Run Code Online (Sandbox Code Playgroud)
无论如何,我读到构造函数不具有返回值,但这在g ++中有效.
谢谢你的建议,
里斯
我正在尝试创建一个函数指针,它将一个函数指针作为一个参数,但我不确定如何去做...我被建议尝试typedef-ing我的一个函数指针,但得到相同的错误.有人可以用正确的语法帮助我吗?
int
186 main(int argc, char **argv)
187 {
188 int i;
194 typedef int (*search_alg) (int *, int, int);
195 typedef int (*search) (search_alg);
196 set_t (*intersect_alg) (list_t *, (search));
197
198 clo_t *iopts = parse_args(argc, argv);
199
200 /* select interstion algorithm */
201 switch (iopts->imode) {
202 case SVS:
203 fprintf(stdout, "ALGORITHM : SvS\n");
204 intersect_alg = svs;
205 break;
206 case SEQ:
207 fprintf(stdout, "ALGORITHM : Sequential\n");
208 intersect_alg = sequential;
209 break;
210 case ADP: …Run Code Online (Sandbox Code Playgroud) 我是Javascript的新手.我正在使用canvas进行一些图像处理,我正在尝试创建一个新的CanvasImageData对象而不实际引用特定的Canvas.
即.
oImageData = CanvasRenderingContext2D.createImageData(vCSSWidth, vCSSHeight)
Run Code Online (Sandbox Code Playgroud)
(来自MSDN)
// Why can't I write:
var image_data = CanvasRenderingContext2D.createImageData(50, 50);
// or:
var image_data = CanvasRenderingContext2D.prototype.createImageData(50, 50);
// ?
// Instead I must do:
var canvas = document.createElement("canvas");
var image_data = canvas.createImageData(50, 50);
Run Code Online (Sandbox Code Playgroud)
有没有Canvas实例的方法呢?如果不是有原因吗?
谢谢!
我创建了一个类Chromosome,它最终只是一个带有ostream运算符的vector的包装器,所以我决定改为使用typedef vector.但是,我在使用模板化的ostream运算符时遇到了麻烦......这是最好的方法吗?(我已经看到了一些方法并且没有得到任何工作)
template<typename G>
class Chromosome {
public:
typedef typename std::vector<G> type;
typedef typename std::pair<type *,type *> ptr_pair;
};
template<typename G> //line 19 below:
std::ostream& operator<<(std::ostream& os, const Chromosome<G>::type& chromosome) {
for(auto iter = chromosome.begin(); iter != chromosome.end(); ++iter)
std::cout << *iter;
return os;
}
Run Code Online (Sandbox Code Playgroud)
目前我得到的错误是:
chromosome.h:19: error: expected unqualified-id before ‘&’ token
chromosome.h:19: error: expected ‘)’ before ‘&’ token
chromosome.h:19: error: expected initializer before ‘&’ token
Run Code Online (Sandbox Code Playgroud)
干杯.
我不明白为什么这段代码是段错误:
AxesMarker::AxesMarker(float size)
: size_(size), vbo_vertices_(0), vbo_elements_(0)
{
Vertex vertices[6] = {
Vertex(Color4f::RED, Vector3f::ZERO, Vector3f::ZERO),
Vertex(Color4f::RED, Vector3f::ZERO, Vector3f(size_, 0.0f, 0.0f)),
Vertex(Color4f::BLUE, Vector3f::ZERO, Vector3f::ZERO),
Vertex(Color4f::BLUE, Vector3f::ZERO, Vector3f(0.0f, size_, 0.0f)),
Vertex(Color4f::GREEN, Vector3f::ZERO, Vector3f::ZERO),
Vertex(Color4f::GREEN, Vector3f::ZERO, Vector3f(0.0f, size_, 0.0f)) };
GLuint elements[6] = { 0, 1, 2, 3, 4, 5 };
fprintf(stderr, "sizeof(vertices): %d, sizeof(Vertex): %d", (int) sizeof(vertices), (int) sizeof(Vertex));
/* create buffers */
glGenBuffers(1, &vbo_vertices_);
glGenBuffers(1, &vbo_elements_);
/* bind buffers */
glBindBuffer(GL_ARRAY_BUFFER, vbo_vertices_);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vbo_elements_);
/* buffer data */
glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, …Run Code Online (Sandbox Code Playgroud) 我在Unix中创建端口时遇到了麻烦.这段代码不断返回"创建socket(3)的错误",这没有任何意义,因为sockfd必须小于0才能打印错误行.
server.c:
int main (int argc, char **argv)
{
int sockfd;
struct sockaddr_in server_sockaddr;
char buff[TRANSFER_BUFFER_LEN];
/* check number of command line arguments */
if (argc < 2)
{
fprintf (stderr, "Usage: %s <port>\n");
exit (EXIT_FAILURE);
}
/* create server socket */
if ((sockfd = createUdpSocket (&sockfd,
&server_sockaddr,
atoi (*(argv + 1)))
) < 0);
{
fprintf (stderr, "Error creating socket (%d).\n", sockfd);
exit (EXIT_FAILURE);
}
...
return 0;
}
Run Code Online (Sandbox Code Playgroud)
socket_utils.h:
int createUdpSocket (int *sockfd, struct sockaddr_in *client_sockaddr, int port) …Run Code Online (Sandbox Code Playgroud) 在进行方法调用时,我收到一个非常奇怪的错误:
/* input.cpp */
#include <ncurses/ncurses.h>
#include "input.h"
#include "command.h"
Input::Input ()
{
raw ();
noecho ();
}
Command Input::next ()
{
char input = getch ();
Command nextCommand;
switch (input)
{
case 'h':
nextCommand.setAction (ACTION_MOVELEFT);
break;
case 'j':
nextCommand.setAction (ACTION_MOVEDOWN);
break;
case 'k':
nextCommand.setAction (ACTION_MOVEUP);
break;
case 'l':
nextCommand.setAction (ACTION_MOVERIGHT);
break;
case 'y':
nextCommand.setAction (ACTION_MOVEUPLEFT);
break;
case 'u':
nextCommand.setAction (ACTION_MOVEUPRIGHT);
break;
case 'n':
nextCommand.setAction (ACTION_MOVEDOWNLEFT);
break;
case 'm':
nextCommand.setAction (ACTION_MOVEDOWNRIGHT);
break;
case '.':
nextCommand.setAction (ACTION_WAIT);
break;
}
return nextCommand; …Run Code Online (Sandbox Code Playgroud) 如何使用through方法检索所有记录但是具有中间表的条件,例如:我想检索通道的所有轨道,其中来自相册(中间表)的is_publish字段的值为1
我的代码到目前为止如下所示:
new channelModel({'id': req.params.channel_id})
.fetch({withRelated: ['tracks']})
.then(function (channel) {
if (channel) {
res.json({error: false, status: 200, data: channel});
} else {
res.json({error: true, status: 404, data: 'channel does not exist'});
}
})
Run Code Online (Sandbox Code Playgroud)
使用此代码我检索所有轨道..并且通道模型具有如下定义的功能:
tracks: function () {
return this.hasMany('track').through('album');
}
Run Code Online (Sandbox Code Playgroud)
我的数据库看起来像这样:
渠道:id,name,desc
专辑:CHANNEL_ID,名称,DESCR,is_publish
曲目:album_id,姓名,DESCR
有什么建议吗?
c++ ×4
c ×2
javascript ×2
bookshelf.js ×1
canvas ×1
constructor ×1
function ×1
glut ×1
html5 ×1
methods ×1
opengl ×1
ostream ×1
pointers ×1
return-value ×1
templates ×1
typedef ×1
unix ×1
vector ×1