小编Jak*_* M.的帖子

调用继承方法 - 编译错误

我有一个调用继承方法的问题.可能我想念一些virtual,const或者&我找不到哪里

我有一个基类Classifier,一个"真实"和一个虚函数,"真实"函数调用虚拟函数.子类MyClassifier定义虚拟继承的方法.现在当我在MyClassifier对象上调用"真正的"类时,我遇到了编译器错误.

class Classifier {
    public:
    bool classify(const Image& ii) 
    { 
        return classify(ii, ii.getRect()); 
    }

    virtual bool classify(const Image& ii, const rect_t& rect) const = 0;
};

class MyClassifier : public Classifier {
    public:
    bool classify(const Image& ii, const rect_t& rect) const;
};

bool
MyClassifier::classify(const Image& ii, const rect_t& rect) const
{
    // do stuff...
}
Run Code Online (Sandbox Code Playgroud)

调用代码是:

// main...
MyClassifier c;
Image some_image;

c.classify(some_image);
Run Code Online (Sandbox Code Playgroud)

而错误:

error: no matching …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance

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

KeyboardInterrupt - 复制数据是否安全

我有一个循环,在每次迭代中我(重新)计算一个长的值向量:

try:
    while(1):
        long_vec = recalculate( long_vec )
        last_vec = long_vec.copy()
except KeyboardInterrupt:
    print last_vec
Run Code Online (Sandbox Code Playgroud)

long_vec并且last_vec是numpy数组.

我的问题是:我可以确定当我按下CTRL + C时,它不会破坏copy()函数,并且last_vec不会被破坏吗?

python numpy

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

Scala和unapply函数的参数

我有一个简单的unapply检查整数小于10

object MatchLess {
    def unapply(i: Int): Option[Int] = if ( i < 10 ) Some(i) else None
}

// so this prints
// 7 8 9 . . .
for ( i <- 7 to 12 ) i match {
    case MatchLess(x) => print(x + " ") // line 8
    case _ => print(". ")
}
Run Code Online (Sandbox Code Playgroud)

我对unapply语法有一个疑问:为什么在case第8行中,值x实际上在两侧都可见=>?我可以假设编译器隐式添加这样的赋值吗?

// ...
case /* val x = i */ MatchLess(x) => print(x …
Run Code Online (Sandbox Code Playgroud)

scala

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

Scala:执行外部进程,字符串转义和错误

我想执行以下命令:

lynx -useragent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' -source 'http://localhost'
Run Code Online (Sandbox Code Playgroud)

作为Process在Scala中.我用过两个:

val cmd = ... // command to execute
cmd #> new java.io.File( filename ) !
Run Code Online (Sandbox Code Playgroud)

和:

val proc = Process( cmd )                                                  
proc !!
Run Code Online (Sandbox Code Playgroud)

在这两种情况下我都会收到以下错误lynx:

Can't Access `file://localhost/home/me/Work/23.lynx/2.multidownload/(X11;'
Alert!: Unable to access document.
Run Code Online (Sandbox Code Playgroud)

单独运行命令运行良好,当我在Scala中运行它时 - 我得到错误.这意味着Scala之间发生了一些奇怪的事情lynx,并且字符串没有被正确解释......任何想法?

scala lynx

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

lisp:lambda范围

我想实现filter基于条件过滤列表的函数

(defun filter (func xs)                                                          
  (mapcan                                                                        
    (lambda (x)                                                                  
      (when (func x) (list x))) xs ))                                            
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

*** - EVAL: undefined function FUNC
Run Code Online (Sandbox Code Playgroud)

我认为lambda应该看到func.如何传递funclambda正确的?

我使用CLISP.

lisp

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

在其他div后面显示<div>

<div>父母内部有一个(父母,例如100px x 100px)和其他<div>s(儿童,例如四个50px x 50px的正方形).

<div id="parent">
  <div id="ch1">...</div>
  <div id="ch2">...</div>
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

孩子们完全填满了父母.现在,我想在父级中显示和隐藏文本,但我希望它显示子级后面.如果我这样做:

<div id="parent">TEXT
  <div id="ch1">...</div>
  <div id="ch2">...</div>
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

它打破了孩子的布局.z-index: -1不起作用.知道怎么解决吗?

html css

0
推荐指数
1
解决办法
8935
查看次数

OpenMP:并行(i; ...)和i值

我有一个以下并行片段:

#include <omp.h>
#include "stdio.h"

int main()
{

omp_set_num_threads(4);
    int i;
#pragma omp parallel private(i)
    {
#pragma omp for 
        for(i = 0;i < 10; i++) {
            printf("A  %d: %d\n", omp_get_thread_num(),i);
        }
#pragma omp critical
        printf("i  %d: %d\n", omp_get_thread_num(), i ); 
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为在循环之后,每个线程将i等于i线程循环中的最后一个值.我想要的输出是:

A  0: 0
A  0: 1
A  0: 2
A  3: 9
A  2: 6
A  2: 7
A  2: 8
A  1: 3
A  1: 4
A  1: 5
i …
Run Code Online (Sandbox Code Playgroud)

c c++ openmp

0
推荐指数
1
解决办法
197
查看次数

vim:用加号标记换行

mutt 中,当我打开一条消息时,它是用vim打开的。比屏幕宽度更长的行被换行,并且在换行的开始处显示一个小的红色“加号”。什么vim命令可以实现?

展开:

|<------ screen width -------->|                                             
very long line very long line very long line ...
Run Code Online (Sandbox Code Playgroud)

用“加”包裹:

|<------ screen width -------->|                                             
very long line very long line                                                
+very long line very long line                                               
+very long line                                                              
Run Code Online (Sandbox Code Playgroud)

vim

0
推荐指数
1
解决办法
419
查看次数

VIM:如何在行之前添加自定义标记

我想将错误的行标记为源代码.我使用外部程序(例如,flake8)检测到错误的行.当我保存源代码时,我希望VIM执行外部程序并标记无效行.

我想到了"标记"线条的不同可能性,例如加下划线或改变背景颜色.我想要做的是在文本的左侧有一个额外的列,在那里我可以放置一些标记(例如,">")来指示有问题的行.

我知道flake8 vim插件,它显示完整的烧瓶输出,我只想要小标记.

题:

我怎样才能添加这样的"专栏"?

我想到了一个宽度= 1的单独窗口,但也许有更好的选择.

(这个问题在innaM的评论后从这里迁移)

vim

0
推荐指数
1
解决办法
133
查看次数

新的分支而不是推动

我在我的主分支本地进行了一些更改并提交,但没有推送.现在,我改变主意,我想创建一个新的测试分支,接受所有被推送的更改,它们提交到新分支并从主分支中删除.

所以(不是真正的输出,手写):

# get the code
git clone ...

# I am in the main branch
git branch
* main

# ...do some changes...
# and commit them
git commit --all

# I am ahead by 1 commit
git status
Your branch is ahead of 'origin/main' by 1 commit

# I changed my mind, I don't want to
# git push
# I want to move those changes to a new branch

git checkout -b test …
Run Code Online (Sandbox Code Playgroud)

git

0
推荐指数
1
解决办法
71
查看次数

标签 统计

c++ ×2

scala ×2

vim ×2

c ×1

css ×1

git ×1

html ×1

inheritance ×1

lisp ×1

lynx ×1

numpy ×1

openmp ×1

python ×1