我已经使用命令在Linux Mint 12上安装了boost库,该命令sudo apt-get install libboost-dev libboost-doc安装了存储库中可用的默认版本.但是,我要做的项目需要1.44版本的boost.如何卸载默认(当前)版本1.46并安装1.44?
我找不到boost网站上的文档来从.tar.gz软件包安装boost .
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*,但现在我不知道该怎么做.
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中的零
我正在使用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",但错误仍然存在.有没有办法读取这些文件,或任何类型的文件处理编码问题?
我想在没有使用助推器和"奇怪"的东西的情况下这样做,我想随机填充一块板来进行生命游戏.
我正在尝试在类型类别中进行练习,但是我没有足够的知识来创建一个像函数一样的数据类型.
第一个练习说:"为e和(( - >)e)实现Functor实例."
我想我理解类型构造函数,但我不明白这个具体情况.
我不知道在哪里可以找到信息,我在谷歌搜索但失败了.
这是我的尝试,但(->) r a类型已经在GHC-base中定义.
我怎样才能创建一个data X y w = ...像函数一样的行为?
这是我的编译代码:
instance Functor ((->) r) where
fmap f g = (.)
Run Code Online (Sandbox Code Playgroud) 我有我的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) 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)
不起作用.
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)
此函数正在查找简单链接列表中的项目,但如果函数找不到它,程序会崩溃告知段违规(我认为这是英文名称).
我想知道是否找到了告诉用户未找到的消息或类似的消息.谢谢.
在我的班级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) 我想要一个调用其他相互递归函数的函数,但我已经有了这样的类型签名:
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) 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)