小编fgf*_*jhm的帖子

未定义的引用C++

我有一个名为Student.h的文件,它以这种方式具有静态整数:

    class Student
{
public:
    static int _avrA,_avrB,_avrC,_avrD;
};
Run Code Online (Sandbox Code Playgroud)

我有继承Student.h的university.h.关于University.cpp的实现,其中一个函数返回:

return (_grade_average*(Student::_avrA/Student::_avrB))+7;
Run Code Online (Sandbox Code Playgroud)

并编译器写道:

对Student :: _ avrA的未定义引用.

你知道为什么会这样吗?

c++ linker-errors

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

类型的无效操作数 - c ++

我在c ++代码上有一个名为ThreeDigits的类.我重载了+操作数,这样:

ThreeDigits* ThreeDigits::operator+(const ThreeDigits &number) const

{
   double result= getNumber()+number.getNumber();
   ThreeDigits* new_result=new ThreeDigits(result);
   return new_result;
}
Run Code Online (Sandbox Code Playgroud)

但是当我写主要功能时:

    ThreeDigits* first=new ThreeDigits(2.55998);
    ThreeDigits* second=new ThreeDigits(5.666542);
    ThreeDigits* result=first+second;
Run Code Online (Sandbox Code Playgroud)

我收到以下编译错误:类型为ThreeDigits*和ThreeDigits*的无效操作数为二元运算符+

你能告诉我这是什么问题吗?谢谢

c++ overloading operator-keyword

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

ifstream参数 - C++

我宣布:std::string input_file="1.txt"; 然后我试着做这个命令:

static ifstream myfile (input_file);
Run Code Online (Sandbox Code Playgroud)

我得到错误:没有匹配函数调用: std::basic_ifstream<char>::basic_ifstream(std::string&)

c++ ifstream

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

类的大小 - C++

我有关于对象大小的以下代码:

class A 
{ 
public: 
    int _i; 
    virtual int getI () = 0; 
    int setI (int i); 
}; 
class B : public A 
{ 
public: 
    int getI (); 
    virtual int setI (int i); 
}; 

class C : public B 
{ 
public: 
    int _i; 
    int getI (); 
    int setI (int i); 
}; 

int main () 
{ 
    B b; 
    C c; 
} 
Run Code Online (Sandbox Code Playgroud)

为什么C c的大小; 是12?尺寸计算中包含哪些部分?

c++ virtual function sizeof

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

写入文件时检查错误

我有

ofstream myfile;
myfile.open(filename,ios::out | ios::app);
if(myfile.good()){ do smtg};

myfile.write(taskToWrite->buffer,taskToWrite->length);
Run Code Online (Sandbox Code Playgroud)

有没有办法检查写入功能是否不起作用?我之前用 good() 检查过,但是如果我在编写时出错,我该如何检查呢?我无法理解该函数返回什么。

c++ file

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

使用postgresql的Java ResultSet

我的数据库中有一个表,它有两列:uid1 - 某人的id,uid2 - 他的朋友.

我想创建一个列表,我是某人的朋友 - 直到5深度连接.

所以我构建了以下递归方法:

    private void recursive(int theUid,ResultSet rs,ArrayList<Integer> friends,int count,int next,PreparedStatement pstmt) throws SQLException{
        if(count>=1 && next==theUid){
            return;
        }
        else if(count>=DEPTH_OF_CONNECTION){
            return;
        }

        else{
            pstmt.setInt(1,next);
            rs=pstmt.executeQuery();
            count++;
            while(rs.next()) {
                friends.add(rs.getInt(1));
                recursive(theUid,rs,friends,count,rs.getInt(1),pstmt);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

线程"main"中的异常org.postgresql.util.PSQLException:此ResultSet已关闭.at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkClosed(AbstractJdbc2ResultSet.java:2654)at org.postgresql.jdbc2.AbstractJdbc2ResultSet.next(AbstractJdbc2ResultSet.java:1786)

你能帮我找到问题所在吗?

java sql postgresql jdbc resultset

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

切换字符串c语言

我有这个程序,我想了解以下输出:

#include <stdio.h> 
void fastSwap (char **i, char **d) 
{ 
  char *t = *d; 
  *d = *i; 
  *i = t; 
} 
int main () 
{ 
 char num1[] = "hellohello"; 
 char num2[] = "classclass"; 
 fastSwap ((char**)&num1,(char**)&num2); 
 printf ("%s\n",num1); 
 printf ("%s\n",num2); 
 return 0; 
} 
Run Code Online (Sandbox Code Playgroud)

输出将仅更改sizeof(void*)字符,而不是整个数组.

为什么会这样?

&num1是的char**,不是吗?

c string char

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

http请求对象上的node.js主体与快速请求对象上的主体

我正在尝试构建一个假设与快速服务器一起工作的http模块.

在阅读http模块api时,我发现它并没有将请求对象中的主体保存起来.所以我的问题是:

  1. 如果我想构建一个与官方http模块一起使用的快速服务器,我应该如何获取正文?
  2. 我考虑以http module下面的方式实现:监听套接字,如果我得到content-length标头,听取套接字流的其余部分,直到我得到所有的身体,将其保存为http请求的成员,然后才发送快速服务器处理程序的请求对象.

上面我的建议的优点和缺点是什么,让快递服务器通过request.on('data',callback(data))"监听"请求的主体

我的意思是,为什么我不应该像保持标题一样将身体保留在'request'对象中?

sockets http node.js express

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