标签: visual-c++-2010

用C++建模服装

我正在寻找一些软件,它最终将绘制一个人体框架(可以配置各种参数),并且计划是在假人身上放置某种服装.

我看过Blender,OpenGL库以及其他渲染和物理引擎,我不是在找你告诉我如何做到这一点,但主要是我想知道哪些库可以做到这一点事情?

那么2d中的服装会有一个模式,那么系统(至少在理论上)将能够将其转化为衬衫的3d表示形式吗?然后把它放在人体框架上.我知道我需要为此做很多工作,不过在将衣服渲染到框架上,并考虑到碰撞以及它如何在框架周围掉落等等,我一直在谷歌搜索,并找到了一些比特,但想知道是否有C++库可以做到这一点.

我正在使用Visual C++ 2010进行开发,目标环境是Windows框.

不管怎样,或者我需要参加一些物理课程.

c++ 3d game-physics visual-c++-2010

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

用std :: transform填充std :: map(错误:不能推断出参数)

我正在尝试使用std :: transform填充std :: map.下一个代码编译没有错误:

std::set<std::wstring> in; // "in" is filled with data
std::map<std::wstring, unsigned> out;

std::transform(in.begin(), in.end()
,   boost::counting_iterator<unsigned>(0)
,   std::inserter(out, out.end())
,   [] (std::wstring _str, unsigned _val) { return std::make_pair(_str, _val); }
);
Run Code Online (Sandbox Code Playgroud)

但如果我更换字符串

,   [] (std::wstring _str, unsigned _val) { return std::make_pair(_str, _val); }
Run Code Online (Sandbox Code Playgroud)

,   std::make_pair<std::wstring, unsigned>
Run Code Online (Sandbox Code Playgroud)

要么

,   std::ptr_fun(std::make_pair<std::wstring, unsigned>)
Run Code Online (Sandbox Code Playgroud)

我收到错误:

foo.cpp(327): error C2784: '_OutTy *std::transform(_InIt1,_InIt1,_InTy (&)[_InSize],_OutTy (&)[_OutSize],_Fn2)' : could not deduce template argument for '_InTy (&)[_InSize]' from 'boost::counting_iterator<Incrementable>'
      with
      [
          Incrementable=unsigned int
      ]
      C:\Program …
Run Code Online (Sandbox Code Playgroud)

c++ stl visual-c++ visual-c++-2010 c++11

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

编译SymbolicC++ - 运算符,是不明确的

我正在尝试在VC++ 2010 Express中编译SymbolicC++库(在发行版中有特殊的VS项目),但它在系统头中提供了很多错误,与之相关operator,.例如:

1> C:\ Program Files\Microsoft Visual Studio 10.0\VC\include\xlocmon(410):错误C2593:'运算符',含糊不清

对于系统头中的此代码:

if (_Str[0] < _E0 || _E0 + 9 < _Str[0])
    _Str2 += '-', ++_Off;
Run Code Online (Sandbox Code Playgroud)

为什么?怎么编译呢?

c++ visual-c++-2010

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

如何生成vcproj文件?

假设我有一个跨平台的C++库,我们称之为ylib.我的主要开发平台是Linux.我希望ylib可以由MSVC构建(2008年,2010年,11年等).

最好的方法是什么?我是否生成.vcproj文件?如果是这样,怎么样?理想情况下,我可以在不使用Windows的情况下生成它们.Windows不需要额外的依赖项.应该构建多个变体:debug dll,debug lib,release dll,release lib with dynamic runtime和release lib with static runtime.

c++ visual-c++-2008 visual-c++ visual-c++-2010

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

CreateWindowEx返回NULL

以下是我的代码的一部分.每次运行程序时,CreateWindowExSPanel都会返回NULL,触发错误.任何人都可以看到这段代码有什么问题吗?

SPanelProc并且MainWndProc已经宣布,并且是原型LRESULT CALLBACK SPanelProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);.

我正在编程的环境是Visual C++ 2010.

为什么CreateWindowEx总是回来NULL

#include <Windows.h>
#include <WindowsX.h>

LRESULT CALLBACK SPanelProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch (msg)
    {
        case WM_MOUSEMOVE:

        break;
    }

    return 0;
}

void Init ()
{
    HWND child;
    HINSTANCE hInstance = (HINSTANCE)(GetWindowLongPtr (parent, GWLP_HINSTANCE));
    WNDCLASSEX wc;
    const char PanelClassName[] = "SPanel"; //ClassName of the panel. Do not …
Run Code Online (Sandbox Code Playgroud)

c++ winapi visual-studio-2010 createwindowex visual-c++-2010

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

C语法错误:缺少';' 在'类型'之前

我在Microsoft Visual C++ 2010 Express中正在进行的C项目中遇到一个非常奇怪的语法错误.我有以下代码:

void LoadValues(char *s, Matrix *m){
    m->columns = numColumns(s);
    m->rows = numRows(s);
    m->data = (double*)malloc(sizeof(double) * (m->rows * m->columns));
    int counter = 0;
    double temp;
    bool decimal;
    int numDec;
    while(*s != '\0'){
        .
        .
        .
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试构建解决方案时,我得到了"缺失"; 在为所有变量(temp,counter等)输入"error"之前,并尝试在while循环中使用它们中的任何一个会导致"未声明的标识符"错误.我确保通过这样做来定义bool

#ifndef bool
    #define bool char
    #define false ((bool)0)
    #define true ((bool)1)
#endif
Run Code Online (Sandbox Code Playgroud)

在.c文件的顶部.我搜索了Stack Overflow的答案,有人说旧的C编译器不允许你在同一个块中声明和初始化变量,但我认为这不是问题,因为当我注释掉这些行时

m->columns = numColumns(s);
m->rows = numRows(s);
m->data = (double*)malloc(sizeof(double) * (m->rows * m->columns));
Run Code Online (Sandbox Code Playgroud)

所有的语法错误消失了,我不明白为什么.任何帮助表示赞赏.

---编辑----请求Matrix的代码

typedef struct {
    int rows;
    int columns;
    double …
Run Code Online (Sandbox Code Playgroud)

c syntax-error visual-c++-2010

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

复制构造函数不会被调用进行复制初始化或优化?

如果是复制构造函数,private那么

情况1:没有错误,编译器不关心是否在类中定义了复制构造函数.

情况2:错误,复制构造函数是私有的,当它被创建时public,它被省略.

它是否直接优化了副本而没有注意到构造函数是否已经构建private

#include <string>
using std::string;

class T
{
    string s;
    T(const T &obj):s(obj.s){}
public:
    T(const string &str):s(str){}
};

int main()
{
    T a = ("Copy Initialization");     //Case: 1

    T b = T("Copy Initialization");    //Case: 2
}
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++-2010

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

为什么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
查看次数

获取std :: list的前N个元素?

如果N> =列表大小(并处理N = 0),获取作为std :: list的前N个元素或整个列表的新列表的正确和安全的方法是什么?

更新

实际上我不一定需要新的列表,我只想在后续代码中对列表的子集进行操作.我假设创建一个新列表是一种合理的方法(注意列表大小通常低于50).

c++ stdlist visual-c++-2010

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

C++未声明的标识符向量

我有以下代码进行快速排序.当我编译代码时,它显示以下错误:

错误C2065:'vector':未声明标识符
错误C2062:类型int:意外
错误C3861:'quicksort':未找到标识符

#include "iostream"
#include "conio.h"
#include "vector"
void quicksort(vector<int>,int,int);
int partition(vector<int>,int,int);

using namespace std;

int main()
{   vector<int> unsorted;
    int n,x,y;
//cout<<"Initial size: "<<unsorted.size()<<"\n Capacity: "<<unsorted.capacity();
cout<<"Enter the size: ";
cin>>n;
cout<<"Enter the elements in unsorted array: "<<endl;

for(int a=0;a<n;a++)
{
    cin>>x;
        unsorted.push_back(x);
}
for(int b=0;b<n;b++)
{
cout<<unsorted[b]<<"\t";
}


x=1;
y=n;
 quicksort(unsorted,x,y); //quicksort(array,1,array.length)

 for(int m=0;m<n;m++)
 {
 cout<<unsorted[m]<<"\t";
 }
 return 0;
}


int partition(vector<int> given,int p,int r)
{
    int pivot,i,j;
    pivot=given[r];
    i=p-1;
    for(j=p;j<r-1;j++)
    {
        if(given[j]<pivot)
            i++;
        swap(given[i],given[j]);
    } …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++-2010

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