小编Sah*_*een的帖子

为什么静态成员函数不能有cv-qualifier?

这是错误:

error: static member function ‘static void myClass::myfunct()’ cannot have cv-qualifier
Run Code Online (Sandbox Code Playgroud)

有人可以解释这个错误以及为什么const不能使用.

#include<iostream>
class myClass{      
   static void myfunct() const 
   { 
     //do something
   }
};

int main()
{
   //some code
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ static const visual-c++

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

字符串匹配:计算kmp算法中的最长前缀后缀数组

用于字符串匹配的KMP算法.以下是代码,我在网上找到了计算的最长前缀后缀数组:
认定中:

lps[i] = the longest proper prefix of pat[0..i] 
              which is also a suffix of pat[0..i]. 
Run Code Online (Sandbox Code Playgroud)

码:

void computeLPSArray(char *pat, int M, int *lps)
{
    int len = 0;  // length of the previous longest prefix suffix
    int i;

    lps[0] = 0; // lps[0] is always 0
    i = 1;

    // the loop calculates lps[i] for i = 1 to M-1
    while(i < M)
    {
       if(pat[i] == pat[len])
       {
         len++;
         lps[i] = len;
         i++;
       }
       else …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm string-matching

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

如何在 O(n*log(n)) 时间内找到并打印 n 个给定圆的交点?

我正在寻找一种O(n*logn)算法来查找和打印n给定圆的交点。每个圆都由其中心和半径指定。

O(n 2 ) 算法包括检查中心之间的距离是否小于或等于(被比较的两个圆的)半径之和。但是,我正在寻找更快的!

一个类似的问题是线段的交叉。我认为即使我的问题也可以使用线扫描算法来解决,但我无法弄清楚如何在圆圈的情况下修改事件队列。

请同时注意以下角落案例。黑点表示事件点(根据用户 Sneftel 的解决方案,不会打印箭头标记的圆圈交叉点下方

请在您的解决方案中注意这一点

algorithm math graphics computational-geometry

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

android-support-v7-mediarouter中styles.xml中的错误

以下是android-support-v7-mediarouter的styles.xml文件.

<resources>
    <style name="Widget.MediaRouter.MediaRouteButton"
            parent="Widget.AppCompat.ActionButton">
        <item name="android:minWidth">56dp</item>
        <item name="android:minHeight">48dp</item>
        <item name="android:padding">0dp</item>
        <item name="android:focusable">true</item>
        <item name="android:contentDescription">@string/mr_media_route_button_content_description</item>
        <item name="externalRouteEnabledDrawable">@drawable/mr_ic_media_route_holo_dark</item>
    </style>

    <style name="Widget.MediaRouter.Light.MediaRouteButton"
            parent="Widget.AppCompat.Light.ActionButton">
        <item name="android:minWidth">56dp</item>
        <item name="android:minHeight">48dp</item>
        <item name="android:padding">0dp</item>
        <item name="android:focusable">true</item>
        <item name="android:contentDescription">@string/mr_media_route_button_content_description</item>
        <item name="externalRouteEnabledDrawable">@drawable/mr_ic_media_route_holo_light</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

但是我发现很多没有找到资源的错误,其中一些是:

[2014-04-05 10:03:14 - SplashActivity] /home/sahil/workspace/android-support-v7-appcompat/res/values-v14/styles_base.xml:24: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar'.
[2014-04-05 10:03:14 - SplashActivity] /home/sahil/workspace/android-support-v7-appcompat/res/values-v14/styles_base.xml:28: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.Light.ActionBar'.
[2014-04-05 10:03:14 - SplashActivity] …
Run Code Online (Sandbox Code Playgroud)

xml android

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

在单元测试中使用TestHiveContext/HiveContext

我试图在单元测试中这样做:

val sConf = new SparkConf()
  .setAppName("RandomAppName")
  .setMaster("local")
val sc = new SparkContext(sConf)
val sqlContext = new TestHiveContext(sc)  // tried new HiveContext(sc) as well
Run Code Online (Sandbox Code Playgroud)

但我明白了:

[scalatest] Exception encountered when invoking run on a nested suite - java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient *** ABORTED ***
[scalatest]   java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
[scalatest]   at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:346)
[scalatest]   at org.apache.spark.sql.hive.client.ClientWrapper.<init>(ClientWrapper.scala:120)
[scalatest]   at org.apache.spark.sql.hive.HiveContext.executionHive$lzycompute(HiveContext.scala:163)
[scalatest]   at org.apache.spark.sql.hive.HiveContext.executionHive(HiveContext.scala:161)
[scalatest]   at org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:168)
[scalatest]   at org.apache.spark.sql.hive.test.TestHiveContext.<init>(TestHive.scala:72)
[scalatest]   at mypackage.NewHiveTest.beforeAll(NewHiveTest.scala:48)
[scalatest]   at org.scalatest.BeforeAndAfterAll$class.beforeAll(BeforeAndAfterAll.scala:187)
[scalatest]   at mypackage.NewHiveTest.beforeAll(NewHiveTest.scala:35)
[scalatest]   at …
Run Code Online (Sandbox Code Playgroud)

hive apache-spark apache-spark-sql hivecontext

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

线段与凸多边形的交点

寻找 O(logn) 算法来识别与扩展线段相交的凸多边形的线段。可以肯定的是,线段完全位于凸多边形内部。
示例:输入:ab /线段/ , {1,2,3,4,5,6} / CCW 顺序的凸多边形顶点及其坐标/
输出:3-4,5-6

在此处输入图片说明

这可以通过获取所有线的方程并检查它们是否相交来完成,但这将是 O(n),因为需要检查 n 条线是否相交。我认为应该可以使用二进制搜索(因为 logn 绑定)来降低复杂性,但我无法理解应用它的内容。

algorithm math graphics computational-geometry

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

使用C++使用Qt制作我自己的照片拼接应用程序

这是我到目前为止所做的输出:
在此输入图像描述

虽然这只显示黑白图像,但代码也适用于彩色图像.代码基本上使用来自小型数据库的较小图像填充较大的图像.
所以这就是我被困住的地方,相当无能为力.
我怎样才能得到像这样的效果.或者这个.
Qn1:我需要拍摄另一个输入(大)图像*(其中一个效果可见)*并合并它们,但是如何?
Qn2:我怎样才能评估照片拼接的好坏?我有一个为此编写的遗传算法,但我无法修复适应度函数,(突变和交叉工作完美).

这就是我能想到的(对于Qn1):
1.取上面显示的图像的交替像素和必须制作马赛克的图像.
2.取上述像素值的平均值和输入图像,必须为其制作马赛克.
但是没有任何线索来评估善意.

c++ qt image-processing qt-creator genetic-algorithm

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

检查一个数字是否是完美的正方形?

我认为以下代码存在精度问题:

bool isPerfectSquare(long long n){
    long long squareRootN=(long long)(sqrt(n)+0.5);

    return squareRootN*squareRootN == n;
}
Run Code Online (Sandbox Code Playgroud)

怎么解决? PS:1 <= n <= 10 ^ 10

Sqrt(4)可以返回1.9999 => 1,所以我加0.5,使得它在四舍五入时变为2.注意:sqrt返回浮点数.

这是我发现的解释,但仍然无法修复代码:

嗨,似乎你也是浮点值的受害者.如果可能,您应该始终避免浮点比较.随着数字范围的增加,情况变得更糟.比如,当你指定浮动a = 4.0时,它存储为4.000 ... 01111或3.999999 ... 9978或类似.因此,每当您还将一个平方根键入int时,请务必小心.这些类型的错误的可能性随着整数范围的增加而增加.

c++

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

错误:未在此范围内声明'random_device'

我试着解决这个问题:

c ++ 0x_warning.h:32:Fehler:#error此文件需要编译器和库支持即将推出的ISO C++标准C++ 0x.此支持目前是实验性的,必须使用-std = c ++ 0x或-std = gnu ++ 0x编译器选项启用.

通过增加

QMAKE_CXXFLAGS + = - std = c ++ 0x

到我的.pro文件.

现在我收到这个错误:

错误:'random_device'未在此范围内声明random_device rd; ^

在此输入图像描述

random qt qt-creator c++11

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

获取对象中调用者类的名称的最佳方法是什么?

我可以使用这个来完成这个工作:

scala> object LOGGER {
     | def warning(msg: String)(implicit className:String) = {
     |   className
     | }
     | }
defined object LOGGER

scala> class testing {
     | lazy implicit val className = this.getClass.getName
     | def test = LOGGER.warning("Testing")
     | }
defined class testing

scala> val obj = new testing()
obj: testing = testing@11fb4f69

scala> obj.test
res51: String = testing <=======

scala> class testing2 {
     | lazy implicit val className = this.getClass.getName
     | def test = LOGGER.warning("Testing")
     | }
defined class testing2 …
Run Code Online (Sandbox Code Playgroud)

scala

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