小编Ben*_*y13的帖子

c ++中的ofstream错误

我在C++中遇到了一个ofstream错误,这是我的代码

int main () {
  ofstream myfile;
  myfile.open ("example.txt");
  myfile << "Writing this to a file.\n";
  myfile.close();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

Dev-C++ 10中的错误

C:\ devp\main.cpp聚合`std :: ofstream OutStream'的类型不完整,无法定义

提前致谢

c++

33
推荐指数
4
解决办法
5万
查看次数

__pragma(不建议使用)和__declspec之间的区别(不建议使用)

要在Visual Studio下将对象声明为C/C++中的弃用,您有三个解决方案:

  • #pragma deprecated(X)
  • __pragma(deprecated(X))
  • __declspec(deprecated(X))

前两个是相同的,只是第二个可以在宏内部使用; 我把第一个只是为了完整性.第三个似乎是开发社区中使用最多的.

我想知道最后两个有什么区别.根据MSDN 在这里这里的文档,我知道没有区别.在这种情况下,奇怪的是根据您正在使用的内容引发不同的警告代码:C4995用于pragma-case,C4996用于declspec-case.

那么有人知道是否存在实际差异(任何微小的差异),或者为什么这些指令不会引发相同的警告代码?

c windows pragma

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

为什么没有boost :: container :: queue?

我开始使用Boost,我正在查看它拥有的几个库.

我注意到boost :: container几乎定义了所有标准容器,但不是queue.

我没有找到任何参考; 所以我想知道为什么只有deque.我想测试用升压容器替换STL容器,我被告知有可能......

提前感谢您对此主题的任何解释.

c++ queue boost

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

涉及CRTP和内部类型的类专业化

我想构建以下类.基类是定义要实现的函数,Derived实现了这个接口.

template <class T, class V>
class IBase
{
public:
    virtual void foo(const typename V::t_args&) =0;
};

template<class T>
struct T_args
{
    T z;
};

class Derived : public IBase<double, Derived>
{
public:
    typedef T_args<double> t_args;

    Derived() {}

    void foo(const t_args& x)
    { /* do some stuff */ }
};
Run Code Online (Sandbox Code Playgroud)

编译器抱怨Derived是一个不完整的类型; 我无法理解原因.这种类结构是否正确?

我被迫使用c ++ 98进行编码,但我对c ++ 11及更高版本中的任何解决方案感兴趣.

c++ crtp template-specialization c++98

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

标签 统计

c++ ×3

boost ×1

c ×1

c++98 ×1

crtp ×1

pragma ×1

queue ×1

template-specialization ×1

windows ×1