我有以下类Sudent,其函数名为isFail().如果等级<= 60,则此函数返回true,否则返回false.
class Student
{
public:
Student(std::string name_ , int const id_);
virtual ~Student();
void addGrade(int const grade2add);//grade above 100
void removeGrade (int const grade2remove); //update maxGrade
bool isFail();//60-fail
void print(); //id, name, grades
private:
std::string name; //max 20 chars
int const id; //5 digits, only digits
std::vector<int> grades;
};
Run Code Online (Sandbox Code Playgroud)
我实现了isFail函数:
bool Student::isFail()
{
int temp= *lower_bound(grades.begin(), grades.end(), 61);
if (temp <= 60)
return true;
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我看到在以下情况下:[100,98,96,60,95] Temp等于100(第一个元素)而不是60.
ps包含所有相关库以及使用命名空间std.
我阅读http://www.cplusplus.com/reference/algorithm/lower_bound/中的文档,根据他们的示例,它应该可以工作.
如果有更好的方法,请建议.
我有以下字符串例如:' 24499 ? 00:02:05 sys-yg-ys'
如何验证字符串是否以函数结果中的字符串结尾(例如sys-yg-ys)?
我在上面的字符串上尝试了以下(仅检查简单的情况):result =''if(line.endswith('ys',len(line)-2,len(line)-1)):result ='true "
但是当我取得结果的价值时,我并没有成真.
我是makefiles的新手.我创建了以下makefile:
CC=g++
DEBUG= -g
CFLAGS=-c -Wall -std=c++11 $(DEBUG)
all: hello
hello: ConsoleApplication1.o clock.o communication.o device_manager.o devices.o
$(CC) ConsoleApplication1.o clock.o communication.o device_manager.o devices.o
ConsoleApplication1.o: ConsoleApplication1.cpp
$(CC) $(CFGLAS) ConsoleApplication1.cpp
clock.o: clock.cpp clock.h
$(CC) $(CFGLAS) clock.cpp
communication.o: communication.cpp
$(CC) $(CFGLAS) communication.cpp
device_manager.o: device_manager.cpp
$(CC) $(CFGLAS) device_manager.cpp
devices.o: devices.cpp
$(CC) $(CFGLAS) devices.cpp
clean:
rm -rf *.o hello
Run Code Online (Sandbox Code Playgroud)
我将makefile放在所有代码文件的目录中,并从命令行运行命令"make".
我遇到了很多错误:
ConsoleApplication1.cpp:494:30:错误:'chrono'不是'std'mytime :: duration_timer_t计时器的成员; ^ ConsoleApplication1.cpp:494:30:错误:'chrono'不是'std'的成员ConsoleApplication1.cpp:494:55:错误:模板参数1无效mytime :: duration_timer_t timer; ^ ConsoleApplication1.cpp:494:65:错误:';'之前的声明中的类型无效 token mytime :: duration_timer_t timer; ^ ConsoleApplication1.cpp:495:11:错误:在'timer'中请求成员'set_duration',这是非类型'int'timer.set_duration(std :: chrono :: seconds(120)); ^ ConsoleApplication1.cpp:495:29:错误:'std :: chrono'尚未声明为timer.set_duration(std …