小编Rob*_*edy的帖子

内存分配 - 4个地址的多个地址

我需要分配4字节内存,分配的内存地址应该是4的倍数.例如:400,404,408,40c

如果我使用任何内存分配功能,我会收到可用的内存,地址不一定是4的倍数.

所以任何人都可以建议实现这个设计.

c memory memory-management

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

如何声明我的班级实例?

我有一个Parser.h,Parser.cpp文件,其中包含构造函数

Parser::Parser(string filename){....}
Run Code Online (Sandbox Code Playgroud)

现在我想在我的functions.cpp文件中使用我的解析器,我确保在那里

#include "Parser.h"
Run Code Online (Sandbox Code Playgroud)

在我的函数中,我想使用解析器如何创建它的新实例,这是我所拥有的,但我得到语法错误.

Parser::Parser parser("filename.txt");
Run Code Online (Sandbox Code Playgroud)

对不起,我应该确保我正确复制了我的代码,我没有引用错误,也没有忘记包括parser.h

c++ function instance

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

使用字符串文字和不同字符列表初始化数组声明时有什么区别?

char short_string[] = "abc"   
char short_string[] = {'a', 'b', 'c'}   
Run Code Online (Sandbox Code Playgroud)

我认为不同的是第二行是一个switch语句,它需要来自用户的输入(ab或c,因为第一行更多是一个声明....这是对的吗?

c++

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

当我调用Trim时,为什么我的字符串没有被修剪?

我在字符串中添加了一个空格,但Trim不会删除此空格.为什么不?

str:=tstringlist.create;
str.LoadFromFile(s);
Trim(str.strings[1]);
str.Free;
Run Code Online (Sandbox Code Playgroud)

delphi string trim

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

string :: c_str()和string :: data()无法转换为const char*

我在一个定义为的类中有一个map结构std::map<const char*, double>,在构造函数中,我添加了三个全部设置为零的元素,它们的键为"MR_WP","MR_WM"和"MR_WC".我还有几个访问函数到地图,但在执行访问之前,有一个函数检查以确保键实际存在于地图中.

基本上,我有一些说法:

if ( map.find(_key) == map.end() ) throw "error"
Run Code Online (Sandbox Code Playgroud)

当我将const char*字符串传递给访问函数(如getValue("MR_WP"))时,没有错误.

但是,如果我这样做:

std::string str = "MR_WP";

double value = map.getValue( str.c_str() );

-or-

std::string str = "MR_WP";

double value = map.getValue( str.data() );
Run Code Online (Sandbox Code Playgroud)

然后抛出错误.我尝试了两个函数,因为我认为错误可能是由null字符引起​​的.我需要这样做的原因是因为我想在运行时获取密钥的最后一个字母,例如:

std::string type = getType();

std::string str = "MR_W" + type;

double value = map.getValue( str.c_str() ); //or with str.data()
Run Code Online (Sandbox Code Playgroud)

c++

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

为什么在我的SQL语句中需要分号才能插入两个表?

我正在尝试将两组数据插入到我的数据库中,它给出了一个错误,说它在SQL语句的末尾缺少一个分号.

这是我输入的代码:

procedure TForm9.Button1Click(Sender: TObject);
var
sNewTeam, sNewCountry : string;
begin
      sNewTeam := InputBox('NEW','Insert The Name Of The New Team','',);
      sNewCountry := InputBox ('NEW','Insert The New Country','');

   qryAdmin.Active := false;
   qryAdmin.SQL.Text := 'INSERT INTO Teams(Teams) VALUES("'+sNewTeam+'")' + 'Country(Teams) VALUES("'+sNewCountry+'")';
   qryAdmin.ExecSQL;
end;
Run Code Online (Sandbox Code Playgroud)

sql delphi

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

我的温度转换有什么问题?

在这个程序中,我试图取78华氏度并将其返回到Celsius版本和开尔文的类中.但由于一些奇怪的原因,我只是把它作为输出.我究竟做错了什么?

这是我的输出.

78
0
273.15
#include <iostream>
using namespace std;


class Temperature
{
public:

    double getTempKelvin();
    double getTempFahrenheit();
    double getTempCelcius();

    void setTempKelvin(double k);
    void setTempFahrenheit(double f);
    void setTempCelcius(double c);

private:
    double kelvin, fahrenheit, celcius;
    double c, f, k;
};

int main ()
{
    double c, f, k;
    Temperature Conv;

    Conv.setTempFahrenheit(f);
    Conv.setTempCelcius(c);
    Conv.setTempKelvin(k);
    cout << Conv.getTempFahrenheit() << endl;
    cout << Conv.getTempCelcius() << endl;
    cout << Conv.getTempKelvin() << endl;



    return 0;
}

void Temperature::setTempFahrenheit(double f)
{
    f = 78;
    fahrenheit = f; …
Run Code Online (Sandbox Code Playgroud)

c++ temperature unit-conversion

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

如何表明某个类不支持某些运算符?

我正在写一个代表顺序尺度的类,但没有逻辑零点(例如时间).这个规模应该允许加法和减法(operator+,operator+=,...),但无法繁殖.

然而,我总觉得这是一个很好的做法,当一个人重载一个特定组的一个操作符(在这种情况下是数学运算符)时,还应该重载属于该组的所有其他操作符.在这种情况下,这意味着我还需要重载乘法和除法运算符,因为如果用户可以使用,A+B他很可能期望能够运行其他运算符.

有没有一种方法可以用来在编译时为此抛出错误?最简单的方法就是不要重载操作符operator*,......但是添加更多的解释似乎是合适的operator* is not know for class "time".

或者这是我真的不应该关心的事情(RTFM用户)?

c++ error-handling compiler-errors operator-overloading

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

为什么编译器会为表单的字段说"未声明的标识符"?

此代码给出了一条错误消息:[错误] Unit1.pas(52):未声明的标识符:'Edit1'.

procedure SetTCPIPDNSAddresses(sIPs : String);
begin
  SaveStringToRegistry_LOCAL_MACHINE(
    'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\' + Edit1.text,
    'NameServer', sIPs);
end;
Run Code Online (Sandbox Code Playgroud)

为什么我会收到此错误,如何解决?

delphi

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

将它转换为基类指针是否安全?

我正在学习C++,这次我搞乱了指针,研究了this指针和多态.我的问题是,转换是否安全,我知道基本上我可以m_uConnectedUsers直接从CUser课堂上访问因为'公共',但我可能会找到一个需要它的机会,我想知道你的专业人士的意见它.

#include <windows.h>
#include <iostream>

using namespace std;


class CUserCounter
{
public:
    CUserCounter();
    virtual ~CUserCounter(){};

    BOOL m_bEmpty;
    u_long m_uConnectedUsers;
};

CUserCounter::CUserCounter()
{
    m_bEmpty = TRUE;
    m_uConnectedUsers = 0;
}

class CUser : public CUserCounter
{
public:
    CUser(LPCTSTR szName, BOOL bConnected, BOOL bChatting = FALSE );
    virtual ~CUser(){};

    BOOL m_bConnected;
    BOOL m_bIsChatting;
    TCHAR szCharName[32];

    bool IncreaseMoverMeter( unsigned uMeters );
};

CUser::CUser( LPCTSTR szName, BOOL bConnected, BOOL bChatting )
{
    if( szName )
    {
        if( strlen( …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism pointers

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