小编Bg1*_*987的帖子

c ++变量的多个定义

我有4个文件(2个标题和2个代码文件).FileA.cpp,FileA.h,FileB.cpp,FileB.h

FileA.cpp:

#include "FileA.h"

int main()
{
    hello();
    return 0;
}

void hello()
{
    //code here
}
Run Code Online (Sandbox Code Playgroud)

FileA.h:

#ifndef FILEA_H_
#define FILEA_H_
#include "FileB.h"
void hello();

#endif /* FILEA_H_ */
Run Code Online (Sandbox Code Playgroud)

FileB.cpp:

#include "FileB.h"

void world()
{
    //more code;
}
Run Code Online (Sandbox Code Playgroud)

FileB.h:

#ifndef FILEB_H_
#define FILEB_H_

int wat;
void world();


#endif /* FILEB_H_ */
Run Code Online (Sandbox Code Playgroud)

当我尝试编译(使用eclipse)时,我得到了"wat'的多重定义"并且我不知道为什么,它似乎应该可以正常工作.

c++ compiler-errors

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

python:xml.etree.elementtree.ElemenTtree.write()声明标记

我使用xml.etree.elementtree.Element创建了一个XML文档,并希望使用ElementTree.write()函数打印它,但出现的声明标记是

<?xml version='1.0' encoding='UTF-8'?>
Run Code Online (Sandbox Code Playgroud)

虽然我需要双引号.有没有办法改变它?

python xml

15
推荐指数
2
解决办法
3409
查看次数

WPF:以自定义样式以编程方式更改控件的颜色

<DrawingImage x:Key="HexagonImage">
    <DrawingImage.Drawing>
        <DrawingGroup>
            <GeometryDrawing Brush="White"  
                       Geometry="M 250,0 L 750,0 L 1000,433 L 750,866 L 250,866 L 0,433 Z">
                <GeometryDrawing.Pen>
                    <Pen Brush="Black" Thickness="10" LineJoin="Round"/>
                </GeometryDrawing.Pen>
            </GeometryDrawing>
        </DrawingGroup>
    </DrawingImage.Drawing>
</DrawingImage>

<Style x:Key="HexagonButton" TargetType="{x:Type Button}">
    <Setter Property="Template">
        <Setter.Value>
        <ControlTemplate TargetType="{x:Type Button}">
            <Grid>
                <Image x:Name="hexImg" Source="{StaticResource HexagonImage}"/>
                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
            </Grid>
        </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,它有这个HexagonButton作为它的样式,我想以编程方式改变它的颜色,我试过改变Backgroup属性,但无济于事.

我设法做到的唯一方法是使用新的绘图图像创建一个全新的样式.并分配它.但我确信有一种更简单的方法可以做到这一点.

c# wpf colors wpf-controls

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

范围和c ++指针

我有以下代码:

using namespace std;
vector<string*> v;
{
  string s = "hello";
  v.push_back(&s);
}
{
  string ss = "goodbye";
  v.push_back(&ss);
}

cout << v.at(0)->c_str() << endl;
cout << v.at(1)->c_str() << endl;
Run Code Online (Sandbox Code Playgroud)

打印

goodbye
goodbye
Run Code Online (Sandbox Code Playgroud)

如果我删除范围括号,代码将打印

hello
goodbye
Run Code Online (Sandbox Code Playgroud)

当我离开第一个范围时,到第一个字符串的指针现在指向第二个范围时到底发生了什么?

c++ scope

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

c ++抽象类,带有一些实现

我想在c ++中创建一个带有单个的抽象类,但是有一些默认实现.因此,每个继承它的类都将具有默认行为,但您无法创建基类的实例.但如果我将foo标记为纯虚拟,我无法为其添加实现.

class Base
{
public:
    virtual void foo() =0; //Now I can't add foo implementation
};
Run Code Online (Sandbox Code Playgroud)

我的解决方案是不要将它作为纯虚拟,而只是隐藏构造函数.我想知道是否有可能将该类标记为纯,但仍然有一些实现?

c++ abstract-class

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

node.js 同步版 http.get

我想编写一个测试器来测试我为类编写的 http 服务器。我需要同步版本的 http.get/http.post

我想使用“测试”方法创建一个对象,如果测试通过,该方法将返回 true 或 false,但找不到让代码等待服务器响应 get 请求的方法。

关于如何做到这一点的任何建议?

javascript testing http node.js

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

java中的"简单"线程池

我正在寻找一个简单的对象来保存我的工作线程,我需要它不限制线程的数量,而不是让它们保持活动的时间超过需要的时间.但我确实需要它有一个类似于a的方法ExecutorService.shutdown(); (等待所有活动线程完成但不接受任何新线程)

所以也许线程池不是我需要的,所以我希望能朝着正确的方向努力.(因为它们意味着保持线程活着)

进一步澄清意图:

每个线程都是一个文件的上传,我有另一个修改文件的进程,但它等待文件没有任何上传.通过加入每个线程.因此,当它们保持活着时,它会锁定该过程.(每个线程在创建时将自己添加到特定文件的列表中,因此我只加入()上传特定文件的线程)

java concurrency multithreading threadpool

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

获取上下文菜单的控制权

我有一个看起来像这样的上下文菜单

 A
 |--1
 |--2
 |--3
Run Code Online (Sandbox Code Playgroud)

在选择1 2或3之后,我需要访问调用上下文菜单的对象

这意味着如果这是textbox1的上下文菜单,那么我需要访问该对象,我该怎么做?

忘了提一下,这是一个WPF应用程序.所以我使用System.Windows.Controls和ContextMenu是以编程方式创建的

.net c# wpf contextmenu

3
推荐指数
2
解决办法
7652
查看次数

c ++中的多态性,父类向量中的类型丢失

我有一个类A,它是类B和C的父类.还有一个类X,它是Y和Z的父类.

class A {};
class B : public A {};
class C : public A {};


class X
{
    void foo(A) { std:: cout << "A"; }
};

class Y : public X
{
    void foo(B) {std::cout << "B"; }
};

class Z : public X
{
    void foo(c) {std<<cout <<"C"; }
};

int main()
{
    B b;
    C c;

    Y y;
    Z z;

    y.foo(b);//prints B // b is a B, and Y::foo takes a B, hence print B
    y.foo(c);//prints …
Run Code Online (Sandbox Code Playgroud)

c++ oop polymorphism

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

python regex:匹配一个被2个字符包围的字符

我需要一个python中的正则表达式,匹配任何被2个下划线包围的字符.含义,含义

__a__ 
Run Code Online (Sandbox Code Playgroud)

将匹配"a",但是

___a___ 
Run Code Online (Sandbox Code Playgroud)

不会匹配.它需要支持重叠匹配,这样

__a__d___b___e__c__ 
Run Code Online (Sandbox Code Playgroud)

将返回"ac",因为a被双下划线包围,但d,e在它们旁边有一个三重奏,而b在两侧都有三重下划线.我现在有什么

(?<=[_]{2})(.)(?=[_]{2})
Run Code Online (Sandbox Code Playgroud)

它解决了重叠,但不是上面例子中的"确切2"它返回"adbec"

python regex lookahead lookbehind

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

c在堆上创建一个字符串

我需要在堆上创建一个字符串,我想知道标准库中是否已经包含类似的内容,或者我是否必须自己实现它(使用malloc())?

c string heap string.h

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