标签: visual-c++-2005

返回未知类型的函数

class Test
{
public:

 SOMETHING DoIt(int a)
 {
  float FLOAT = 1.2;
  int INT = 2;
  char CHAR = 'a';

  switch(a)
  {
  case 1: return INT;
  case 2: return FLOAT;
  case 3: return CHAR;
  }
 }
};


int main(int argc, char* argv[])
{  
 Test obj;
 cout<<obj.DoIt(1);    
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

现在,使用a = 1意味着我需要返回一个整数等的知识,无论如何Doit()可以返回变量数据类型的变量吗?

从本质上讲,我该如何取代SOMETHING

PS:我正在尝试寻找一种替代方法来返回包含这些数据类型的结构/联合.

c++ variant visual-c++-2005

8
推荐指数
3
解决办法
8575
查看次数

ITERATOR列表在std :: string构造函数中被破坏

在VS2005 SP1的Debug配置中编译的以下代码显示了两条带有"ITERATOR LIST CORRUPTED"通知的消息.

代码片段

#define _SECURE_SCL 0
#define _HAS_ITERATOR_DEBUGGING 0

#include <sstream>
#include <string>

int main()
{
  std::stringstream stream;
  stream << "123" << std::endl;
  std::string str = stream.str();
  std::string::const_iterator itFirst = str.begin();
  int position = str.find('2');
  std::string::const_iterator itSecond = itFirst + position;
  std::string tempStr(itFirst,itSecond); ///< errors are here
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是编译器或标准库中的错误吗?

c++ visual-c++-2008 visual-c++ visual-c++-2005

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

如何检查CString是否只包含数字字符

我正在读取文件并解析其内容.我需要确保一个CString值只包含数字.我能实现的不同方法有哪些?

示例代码:

Cstring Validate(CString str)
{
  if(/*condition to check whether its all numeric data in the string*/)
  {
     return " string only numeric characters";
  }
  else
  {
     return "string contains non numeric characters";
  }
}
Run Code Online (Sandbox Code Playgroud)

cstring visual-c++ visual-c++-2005

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

你能让Visual Studio 2005为你的启动程序提供命令行参数吗?

出于测试目的,Visual Studio IDE中是否有一些位置可以指定从IDE启动时要发送到启动项目的命令行参数?

在此先感谢您的帮助!

c++ visual-studio-2005 visual-c++-2005

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

查找范围中的最大和第二大元素

如何在不删除最大元素并再次搜索的情况下找到上述内容?有没有更有效的方法来做到这一点?如果这些元素是重复的并不重要.

c++ sorting stl ranking visual-c++-2005

6
推荐指数
3
解决办法
8824
查看次数

MATLAB在C++中的功能

有没有人知道我们可以获得MATLAB函数的免费 C++库的资源?例如,线性代数问题可以使用LAPACK和BLAS解决.

此外,.NET项目中的MATLAB是不可能的 - 我正在谈论流行的MATLAB函数的直接C++实现(我不知道我在C++中需要哪些函数但是使用的函数不会是深奥的) .

有关此类资源的任何建议?

c++ matlab visual-c++-2005

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

Visual Studio 2005 c ++继承错误的解决方法

以下代码无法在Visual Studio 2005中编译:

class OriginalClass
{
public:
    class Delegate
    {
        virtual void original_func()=0;
    };
};

class BaseClass
    :public OriginalClass::Delegate //  Problem line 1
{
public:
    class Delegate
    {
        virtual void base_func(int x) = 0;
    };

    void original_func()override{}  //  Problem line 2
};

class DerivedClass : public BaseClass::Delegate
{
public:
    virtual void base_func(int x) override {};
};

int main ()
{
    DerivedClass derived_object;

    derived_object.base_func(10);
}
Run Code Online (Sandbox Code Playgroud)

构建输出是:

1>inherit\main.cpp(26) : error C3668: 'DerivedClass::base_func' : method with override specifier 'override' did not override any …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance nested-class visual-c++-2005

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

如何在Visual Studio 2005中获得完整的调用堆栈?

如何获得使用Visual Studio 2005开发的c ++应用程序的完整调用堆栈?我想有一个完整的调用堆栈,包括系统库中的代码.

我是否必须在Visual Studio中更改某些设置,还是必须安装其他软件?

c++ debugging callstack visual-studio visual-c++-2005

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

我如何解决:"错误C2039:'{ctor}':不是"在Visual Studio 2005中的成员?

我在Visual Studio 2005中使用C++扩展模板类.当我尝试使用以下命令扩展模板基类时,它给出了一个错误:

template <class K, class D>
class RedBlackTreeOGL : public RedBlackTree<K, D>::RedBlackTree  // Error 1
{
 public:
  RedBlackTreeOGL();
  ~RedBlackTreeOGL();
Run Code Online (Sandbox Code Playgroud)

当我尝试实例化对象时出现第二个错误:

RedBlackTreeOGL<double, std::string> *tree = new RedBlackTreeOGL<double, std::string>; // error 2
Run Code Online (Sandbox Code Playgroud)

错误1:

**redblacktreeopengl.hpp(27):错误C2039:'{ctor}':不是'RedBlackTree'的成员[K = double,D = std :: string]**

错误2:

main.cpp(50):参见正在编译的类模板实例化'RedBlackTreeOGL'

c++ templates class-design visual-studio-2005 visual-c++-2005

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

auto_ptr或shared_ptr

在C++ 03环境中,您是否会使用a auto_ptr或(boost)shared_ptr从函数返回资源?(在C++ 11中,人们自然会使用unique_ptr.)

auto_ptr<T> f() {
  ...
  return new T();
}
Run Code Online (Sandbox Code Playgroud)

要么

shared_ptr<T> f() {
  ...
  return new T();
}
Run Code Online (Sandbox Code Playgroud)

auto_ptr有一些陷阱(至少它的构造在MSVC 2005上非常错误的,这是我必须使用的),但shared_ptr似乎有点过分......

c++ auto-ptr shared-ptr visual-c++-2005

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