小编joc*_*oce的帖子

如何让我的 va_list 参数重复?

这是我第一次使用va_list这些东西,所以我真的不知道我在做什么。好的,基本上我所拥有的是有序函数中的一堆数字(1、2、3、4、5),然后我将它们打印出来。这工作正常。

#include <iostream>
#include <cstdarg>

using namespace std;

void ordered(int num1, double list ...);

void main()
{ 
    ordered(5, 1.0, 2.0, 3.0, 4.0, 5.0);
}

void ordered(int num1, double list ...)
{
    va_list arguments;

    va_start(arguments, num1);

    list = va_arg(arguments, double);
    cout << "There are " << num1 << " numbers" << endl;

    do { 
        cout << list << endl; // prints out 1 then 2 then 3 then 4 then 5
        list = va_arg(arguments, double);
    } while (list != …
Run Code Online (Sandbox Code Playgroud)

c++

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

错误:非静态成员引用必须相对于特定对象

我不明白为什么视图给我一个非静态成员引用必须相对于特定对象的错误。

CDrawView::Shape是我在我的上声明的一个枚举CDrawView

enum shape{line, rect, elli};
shape current_shape;
Run Code Online (Sandbox Code Playgroud)

这是我的另一堂课

class Shapemaker
{
public:

    CDrawView view;
    static void Create(CDrawView::shape )
    {
        if(view.current_shape == view.line)
        {
            view.m_shape.reset(new Line());
        }
        else if(view.current_shape == view.rect)
        {
            view.m_shape.reset(new Rect());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

避免此错误的最佳做法是什么

c++ enums static

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

使用抽象类作为unordered_map中的值

我无法使用抽象类作为值来正确编译抽象类.理想情况下,我想做类似以下的事情

unordered_map<string, Process_Base> func_map;
Run Code Online (Sandbox Code Playgroud)

Process_Base的样子

//Contained in Process_Base.hpp
class Process_Base{

public:
    virtual ~Process_Base(){};
    virtual void process() const = 0;

};
Run Code Online (Sandbox Code Playgroud)

和子类看起来像

#include "Process_Base.hpp"

class Process_Message : public Process_Base {

public:
    ~Process_Message(){};
    virtual void process();

};

#include <stdio.h>
#include <string.h>
#include "Process_Base.hpp"

class Process_Message{

public: 
    void process(){
        printf("%s", "Hello");
    }
};
Run Code Online (Sandbox Code Playgroud)

这背后的想法是我能够在地图中添加子类,并有一个简单的函数,它将查看一个键值并调用子类的进程函数.

当我在CentOS 5.8上编译时使用

g++44 -Wall -c -std=c++0x -I/usr/include -g Source.cpp
Run Code Online (Sandbox Code Playgroud)

我得到以下一系列错误

In file included from /usr/lib/gcc/x86_64-redhat-linux6E/4.4.6/../../../../include/c++/4.4.6/bits/stl_algobase.h:66,
             from /usr/lib/gcc/x86_64-redhat-linux6E/4.4.6/../../../../include/c++/4.4.6/bits/char_traits.h:41,
             from /usr/lib/gcc/x86_64-redhat-linux6E/4.4.6/../../../../include/c++/4.4.6/string:42,
             from Source.cpp:2:
/usr/lib/gcc/x86_64-redhat-linux6E/4.4.6/../../../../include/c++/4.4.6/bits/stl_pair.h: In instantiation of ‘std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> …
Run Code Online (Sandbox Code Playgroud)

c++

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

将c数组的字符串复制到std :: string的向量中

我需要在向量中存储ac字符串数组的元素.

基本上我需要将ac数组的所有元素复制到一个vector<std::string>.

#include<vector>
#include<conio.h>
#include<iostream>

using namespace std;

int main()
{
    char *a[3]={"field1","field2","field3"};

    //Some code here!!!!

    vector<std::string>::const_iterator it=fields.begin();
    for(;it!=fields.end();it++)
    {
        cout<<*it++<<endl;
    }   
    getch();
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我把c数组元素存储到一个向量中吗?

编辑

这下面的代码是倾销核心!!请帮助

int main()
{
    char *a[3]={"field1","field2","field3"};
    std::vector<std::string> fields(a, a + 3);

    vector<std::string>::const_iterator it=fields.begin();
    for(;it!=fields.end();it++)
    {
        cout<<*it++<<endl;
    }   
    getch();
}
Run Code Online (Sandbox Code Playgroud)

c++ vector

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

C#对象比较

在C#中,有没有办法重载比较运算符,例如==,=<或者>在用户定义的对象上?

类似于你可以写"string"=="string"而不是"string".Equals("string")

我知道你可以定义CompareTo和Equals函数,但我想知道是否有快捷方式.

c#

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

将命令行参数传递给shell脚本不起作用

我想编写一个脚本,根据我的输入将更改为不同的目录.这样的事情:

test.sh:
#!/bin/bash
ssh machine001 '(chdir ~/dev$1; pwd)'
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时./test.sh 2它仍然存在~/dev.似乎我的论点被忽略了.我在这做任何非常愚蠢的事吗?

bash shell scripting csh

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

为什么我的 XmlWriter 保留其文件流?

我编写了一个应用程序,该应用程序有时会写入 XML 文档。后来,创建了一个新对象,并且在代码中的同一部分,XmlWriter无法打开该对象,因为该文件仍在我的程序“使用中”。在寻找答案时,我看到很多线程,答案是CloseOutput在创建 之前设置为 true XmlWriter,并在 using 块中创建它。我已经完成了这两个操作,但仍然遇到这个问题。

XmlWriterSettings xSettings = new XmlWriterSettings();
xSettings.Indent = true;
xSettings.IndentChars = "\t";
xSettings.CloseOutput = true;

using (XmlWriter xWriter = XmlWriter.Create(sOutputFileName, xSettings))
{
    data.WriteContentTo(xWriter);
    xWriter.Close();
}
Run Code Online (Sandbox Code Playgroud)

我有什么明显遗漏的东西吗?

.net c# xmlwriter

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

Azure Billing场景问题解除了神秘感

我有两个特定的场景,我不能忘记关于Windows azure的计费.

场景1:如果我有1个说(web角色,工作角色或保留的网站)的实例,闲置5个小时(通过空闲我的意思是没有请求或处理或任何东西)将被收取费用?或者我只是因为我有活动而收费?

场景2:我是否为我的数据库的实际大小或我在创建它时声明的大小付费?

这很难跟进,我想提前感谢大家.微软网站目前还不清楚,并不简单.

azure azure-sql-database

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

如何为私有项目设置Assembla Subversion - 源代码控制的新手

在2009年我使用.NET framework 2.0时,我过去曾使用源代码控制来提交代码.我已经远离编程大约3年了.现在我尝试在C#中进行一些Win 8编程,并且需要为我的私有项目设置源代码控制.

我遇到了Visual SVN for VS 2012,它集成了VS中的源代码控制.任何人都可以指导我一个文档,它给我一步一步说明如何为我的私人项目设置SVN?我虽然使用Assembla,因为它似乎是免费的.

svn visualsvn assembla visual-studio-2012

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

从XP及以上获取Windows操作系统名称

我试图弄清楚如何获取Windows 8的操作系统名称.我目前正在使用以下代码,但它不处理Windows 7或Windows 8.

如何处理更新的Windows版本?

System.OperatingSystem os = Environment.OSVersion;
Version vs = os.Version;

if (os.Platform == PlatformID.Win32Windows)
{    
    switch (vs.Minor)
    {
        case 0:
            operatingSystem = "95";
            break;
        case 10:
            if (vs.Revision.ToString() == "2222A")
                operatingSystem = "98SE";
            else
                operatingSystem = "98";
            break;
        case 90:
            operatingSystem = "Me";
            break;
        default:
            break;
    }
}
else if (os.Platform == PlatformID.Win32NT)
{
    switch (vs.Major)
    {
        case 3:
            operatingSystem = "NT 3.51";
            break;
        case 4:
            operatingSystem = "NT 4.0";
            break;
        case 5:
            if (vs.Minor == 0) …
Run Code Online (Sandbox Code Playgroud)

c# operating-system

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