小编fre*_*inn的帖子

卸载boost并安装另一个版本

我已经使用命令在Linux Mint 12上安装了boost库,该命令sudo apt-get install libboost-dev libboost-doc安装了存储库中可用的默认版本.但是,我要做的项目需要1.44版本的boost.如何卸载默认(当前)版本1.46并安装1.44?

我找不到boost网站上的文档来从.tar.gz软件包安装boost .

c++ linux boost install

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

从'const char*'到'char*'的无效转换[-fpermissive]

int ::  cadena calculatelenght(const cadena& a, const char* cad)
{
    cadena c;
    int lenght = 0;
    char* punt; punt = cad;
    while(*punt){
        lenght++; punt++;
    }
    return lenght;
}
Run Code Online (Sandbox Code Playgroud)

我有这个问题,我想计算一个C字符串的长度而不使用像strlen我这样的cadena类的其他方法,因为它不是const char*,但现在我不知道该怎么做.

c c++ string

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

如何使用cin读取double的整个值?

long double m;
cout << "enter double: "; cin >> m;
cout << "m = " << m <<endl;
Run Code Online (Sandbox Code Playgroud)

输入:

输入double:1.546640625

输出:

m = 1.54664

我必须转换成带有点的二进制文件,当我读取像2.359375000这样的数字时

输出:

m = 2.35938

它有效,但我认为问题是1.546640625中的零

c++ double

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

在Haskell中使用"US-ASCII"编码读取文件:hGetContents:无效参数(无效字节序列)

我正在使用Haskell编写解析器,但是这个错误是我无法通过的墙.这是我的代码:

main = do
  arguments    <- getArgs
  let fileName = head arguments
  fileContents <- readFile fileName
  converter    <- open "UTF-8" Nothing
  let titleLength           = length fileName
      titleWithoutExtension = take (titleLength - 4) fileName
      allNonEmptyLines      = unlines $ tail $ filter (/= "") $ lines fileContents
Run Code Online (Sandbox Code Playgroud)

当我尝试使用"US-ASCII"编码读取文件时,我得到了着名的错误hGetContents:无效的参数(无效的字节序列).我试图通过"US-ASCII"更改我的代码中的"UTF-8",但错误仍然存​​在.有没有办法读取这些文件,或任何类型的文件处理编码问题?

io encoding haskell file

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

如何使用c ++中的正态分布生成真值或假值

我想在没有使用助推器和"奇怪"的东西的情况下这样做,我想随机填充一块板来进行生命游戏.

c++ boolean distribution

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

如何使functor的函数类型构造函数实例?重复的实例

我正在尝试在类型类别中进行练习,但是我没有足够的知识来创建一个像函数一样的数据类型.

第一个练习说:"为e和(( - >)e)实现Functor实例."

我想我理解类型构造函数,但我不明白这个具体情况.

我不知道在哪里可以找到信息,我在谷歌搜索但失败了.

这是我的尝试,但(->) r a类型已经在GHC-base中定义.

我怎样才能创建一个data X y w = ...像函数一样的行为?

这是我的编译代码:

instance Functor ((->) r) where
  fmap f g = (.)
Run Code Online (Sandbox Code Playgroud)

haskell functional-programming instance functor typeclass

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

使用body来抽象一个方法来覆盖

我有我的Beverage课程,它有一些吸气剂/安装工可以使用饮料的大小.这个程序与装饰器模式有关,所以我想结合一些同名的方法的行为.

我的目的是让一个方法与body允许我获得饮料的大小,但是,我希望能够在子类上覆盖该行为.

总而言之,我想要一种方法:

  • 如果不覆盖,则表现为父类中的方法
  • 如果覆盖,则表现得像编码一样

我所做的是创建一个名为getSizeOfBeverage的方法,其行为类似于我的"旧" getSize,并使getSize "new"方法抽象,因此我可以覆盖它,但我想要一个不暗示新方法名称的解决方案.

这是我的代码:

using System;

namespace Decorator
{
    class Program
    {
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso("small");
            beverage = new Whip(beverage);
            Console.WriteLine(beverage.getDescription() + " $" + beverage.cost());
        }
    }

    abstract class Beverage
    {
      private string description;
      private string size;

      public Beverage()
      {
        setDescription("Unknown beverage");
      }

      public double getCost()
      {
        return cost();
      }

      public abstract double cost();

      public abstract string getDescription();

      public void setDescription(string desc) …
Run Code Online (Sandbox Code Playgroud)

c# oop overriding decorator abstract

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

如何删除这个2维指针数组?制作析构函数

malla = new Celula**[n + 2];  
for(int i = 0 ; i < n + 2 ; ++i){  
     malla[i] = new Celula*[m + 2];
     for(int j = 0 ; j < m + 2 ; ++j){
         malla[i][j] = new Celula[m];
     }
}
Run Code Online (Sandbox Code Playgroud)

我正在制作这段代码并且我像这样分配内存(我想要一个n*m指向Celula的指针数组,好吗?现在我需要一个析构函数.

现在我不知道如何访问此数组中的对象,并且:

malla[i][j].setestado(true);
Run Code Online (Sandbox Code Playgroud)

不起作用.

c++ arrays pointers delete-operator

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

函数可以返回指向NULL的指针吗?

class sll_item
{private:
    sll_item *next_;
    int code_;
...
...

class sll_
{ private:
    sll_item *first_;
    sll_item *last_;
...
...

sll_item* sll_ :: lookforitem(int code)
{
  sll_item* aux = first_;
  while(code != aux->getcode() && aux != NULL){
    aux = aux->getnext();
  }
  return aux;
}
Run Code Online (Sandbox Code Playgroud)

此函数正在查找简单链接列表中的项目,但如果函数找不到它,程序会崩溃告知段违规(我认为这是英文名称).

我想知道是否找到了告诉用户未找到的消息或类似的消息.谢谢.

c++ nullpointerexception

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

C++指向类方法调用的指针

在我的班级Tabla中,我有一个指向方法的公共指针:

public:
    int (Tabla :: *punterofunc)(int,int);
Run Code Online (Sandbox Code Playgroud)

在主要我把它指向一个类方法:

tablita.punterofunc = &Tabla :: in_lineal;
Run Code Online (Sandbox Code Playgroud)

但这个电话不起作用!

 tablita->punterofunc(num,0);
Run Code Online (Sandbox Code Playgroud)

c++ methods pointers

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

函数参数如何允许改变变量但不能指向任何其他变量?

我想要一个调用其他相互递归函数的函数,但我已经有了这样的类型签名:

fn f1(mut index: &mut usize, ..)
fn f2(mut index: &mut usize, ..)
Run Code Online (Sandbox Code Playgroud)

我真的想要一组相互递归的函数,它们只能改变 index我在main()函数中定义的变量,并且不能指向任何其他变量。

我已经阅读了变量名之前的“mut”和“:”之后的“mut”有什么区别?中的两个答案。,我已经尝试了几种方法,但仍然无法实现我想要的。我想我不太理解这些概念。

这是我目前理解的证据:

// with &mut I can change the referred value of n, but then I can't
// pass a mutable reference anywhere
fn mutate_usize_again(n: &mut usize) {
    *n += 1;
    // n += 70; ^ cannot use `+=` on type `&mut usize`
}

fn mutate_usize_two_times(mut n: &mut usize) {
    *n = 8;
    // if I don't write mut …
Run Code Online (Sandbox Code Playgroud)

reference mutable immutability rust

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

析构函数删除数组时的错误

class Celda
{
private:
    int* bloques_;
public:
    Celda(int size);
    ~Celda(){ delete [] bloques_; };
};
Celda :: Celda(int size)
{
    bloques_ = new int[size];
    bloq_ocupados_ = 0;
    tam_ = size;
    for(int i = 0 ; i < tam_ ; ++i){
        bloques_[i] = 0;
    }
}

Tabla :: Tabla(int numcel, int tambloq)
{
    nceldas_ = numcel; tam_bloque_ = tambloq;
    tabla_ = new Celda*[nceldas_];
    for(int i = 0 ; i < nceldas_ ; ++i){
        tabla_[i] = new Celda(tam_bloque_);
}
    ocupadas_ = 0; …
Run Code Online (Sandbox Code Playgroud)

c++ arrays delete-operator

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