小编Jam*_*lis的帖子

在Windows 8 XAML项目中设置C++/CX中的Margin属性

我正在尝试设置Margin我的Ellipse代码.我如何设置Marginp

auto p = ref new Windows::UI::Xaml::Shapes::Ellipse();
p->Height=100.0;
p->Width=100.0;
//p->Margin="36,19,0,0";
auto t = ref new Windows::UI::Xaml::Thickness(10.0,20.0,30.0,40.0);
Run Code Online (Sandbox Code Playgroud)

c++ xaml windows-8 windows-runtime c++-cx

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

为什么Visual Studio 2010包含头文件两次?

我一直有这些与Visual Studio 2010中非常奇怪的问题,在这一点上,行为是如此的不稳定,我真希望我没有使用它的CUDA(我知道我并不需要,但它很难不使用它).

我遇到的许多基本问题之一是头文件不止一次被包含在内.例如:

//vars.cuh
#if !defined(VARS_cuh)
#define VARS_cuh

#include <cuda.h>
#include <cuda_runtime_api.h>

int* kern_xstart, *kern_xend, *kern_ystart, *kern_yend, *kern_zstart, *kern_zend;
/* more variable definitions */

#endif
Run Code Online (Sandbox Code Playgroud)

然后我在大多数源文件中包含此文件:

//source_file.cu
extern "C"{
#include "vars.cuh"
/* more includes of my own headers */
#include <cuda.h>
#include <cuda_runtime_api.h>
}

/* source file body */
Run Code Online (Sandbox Code Playgroud)

VS 2010编译器发出如下错误:"错误LNK2005:foo已在other_source_file_I_wrote.cu.obj中定义"

它为什么这样做?另外,为了用一块石头杀死两只鸟,使用这种设置,我也有在source_file.cu中编写函数,然后在vars.cuh中进行原型设计的问题.问题是vars.cuh无法看到定义,即使我在source_file.cu中明确包含vars.cuh!

谢谢!

c include header-files visual-c++ visual-c++-2010

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

vs2012 rc中基于范围的for循环

以下基于范围的for循环在VS2012中工作正常:

int values[] = {1, 2, 3};
for(int i: values)
{
}
Run Code Online (Sandbox Code Playgroud)

但是,这个不起作用:

for(int i: {1, 2, 3})
{
}
Run Code Online (Sandbox Code Playgroud)

有什么不同?

PS:我找不到std :: initializer_list模板类.我需要知道这个新VS2012 RC支持的C++ 11功能.任何的想法?

c++ visual-c++ c++11 visual-c++-2012

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

decltype和成员函数(非指针)类型

struct C
{
    int Foo(int i) { return i; }

    typedef decltype(C::Foo) type;
};
Run Code Online (Sandbox Code Playgroud)

由于没有成员函数类型这样的类型(没有,有吗?),我希望C::type如此int (int).

但以下将无法使用Visual C++ 2012 RC进行编译:

std::function<C::type> f;
Run Code Online (Sandbox Code Playgroud)

那是什么类型的decltype(C::Foo)

c++ decltype visual-c++ c++11 visual-c++-2012

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

在Visual Studio 2005中将Boost 1.40.0加载到Intellisense中?

有没有办法在Visual C++中为Visual Studio 2005获取Intellisense?

我正在尝试使用intellisense和对象浏览器/类视图中的Boost库加载.

我使用BoostPro安装程序(BoostPro 1.40.0 Installer)安装了Windows二进制文件.

我不确定它是否带有源代码,但可能需要使Intellisense在VS2005中工作.

intellisense boost visual-studio-2005 visual-c++

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

如何使用大于一个char的分隔符拆分字符串?

假设我有这个:

"foo bar 1 and foo bar 2"
Run Code Online (Sandbox Code Playgroud)

我怎么能把它分成:

foo bar 1
foo bar 2
Run Code Online (Sandbox Code Playgroud)

我尝试过strtok(),strsep()但都没有奏效.他们不承认"和"作为分隔符,他们将"a","n"和"d"视为分隔符.

任何帮助我的功能,或者我必须通过空格分割并进行一些字符串操作?

c string string-split

0
推荐指数
2
解决办法
5989
查看次数

在C++中,返回变量时会发生什么?

返回变量时,一步一步地发生了什么.我知道如果它是内置的并且适合,它会被抛入rax/eax/ax.当它不适合和/或不是内置时会发生什么?更重要的是,是否有保证的复制构造函数调用?

编辑:析构函数怎么样?那被称为"有时","总是"还是"从不"?

c++ return-value copy-constructor

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

C++中的变量参数函数问题

我正在尝试在C++中创建一个可变长度函数(显然,heh),而我现在所拥有的功能,但仅适用于第一个参数.如果有人可以请让我知道如何使用所有通过的论点,我会非常感激.

码:

void udStaticObject::accept( udObjectVisitor *visitor, ... )
{
    va_list marker;
    udObjectVisitor *i = visitor;
    va_start( marker, visitor );
    while( 1 )
    {
        i->visit_staticObject( this );
//the if here will always go to the break immediately, allowing only 
//one argument to be used
        if( ( i = va_arg( marker, udObjectVisitor* ) ) )
            break;
    }
    va_end( marker );
}
Run Code Online (Sandbox Code Playgroud)

根据我过去发布的帖子以及我提供的任何帮助帖子,可能会提供一些我没有提供的信息,您需要知道这些信息才能提供帮助.如果我忘了什么,我会提前道歉,请告诉我您需要知道的内容,以便我提供相关信息.

c++ variadic-functions

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

C++ shared_ptr如何删除多个shared_ptr的指针

我在这个项目上工作,

我遇到的问题是,当我需要它时,它并没有真正被删除,因为它有一些指向它的共享指针.

我该如何解决这个问题,请帮忙.

c++ smart-pointers shared-ptr

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

为什么在贝尔曼福特算法中允许负边缘?

为什么在Bellman ford算法中允许负边循环而在dijkstra算法中不允许负边?

algorithm graph dijkstra

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