我正在尝试对对象的向量进行排序。我编写了一个函数来比较对象。它似乎在我的编译器上运行得很好,但不是我学校服务器上的编译器。
bool sortByLastName(Student& lhs, Student& rhs) {
string lhsLastName = lhs.getLastName();
string rhsLastName = rhs.getLastName();
return lhsLastName < rhsLastName;
}
我收到这个错误。。。
/usr/lib/gcc/i686 redhat linux/4.4.7/../../../..//包括/c/4.4.7/bits/stl\U algo。h: 131:错误:“Student”类型引用的初始化无效
/usr/lib/gcc/i686 redhat linux/4.4.7/../../../..//包括/c/4.4.7/bits/stl\U algo。h: 133:错误:“Student”类型引用的初始化无效
我试图使参数为常量字符串
LAB9花名册。cpp:79:错误:将“const Student”作为“std::string Student::getLastName()”的“this”参数传递将丢弃限定符
LAB9花名册。cpp:80:错误:将“const Student”作为“std::string Student::getLastName()”的“this”参数传递将丢弃限定符
我确信您正在传递临时参数,如sortByLastName(“s1”、“s2”)。然而,尽管我怀疑它是否能在某些编译器上工作,但大多数非常量引用不会绑定到临时对象。使用
bool sortByLastName(const Student& lhs,const Student& rhs) {
string lhsLastName = lhs.getLastName();
string rhsLastName = rhs.getLastName();
return lhsLastName < rhsLastName;
}
此外,正如@user3435400所提到的,将getLastName()定义为const,即它不能修改任何类成员
string getLastName() const;
将getLastName定义为
string getLastName() const;
并返回
return lhs.getLastName() < rhs.getLastName();
在上调用时: gcc和clang都在std::数组的排序上返回一个错误——clang说 错误:使用未声明的标识符“sort”;你是说“性病::分类”吗? 更改为解决了这个问题。 MSVC按编写的方式编译上面的代码。 为什么和在治疗上存在差异;哪个编译器是正确的?
提前谢了。
以下是代码(假设id和速度已经初始化,并且包含的内容正确):
我有一种字体在IE8和IE9以及所有其他浏览器中都能正常工作,但第二种字体只在IE9和其他浏览器中工作。在IE8中,我得到了一个错误: “CSS3111:@font-face遇到未知错误。” 我一直在四处看书,尝试了很多事情,但都没有运气。 我的代码是: 我试过用几个不同的生成器多次重新生成eot,玩过CSS,玩过头,玩过域,等等,但是看起来它们都很好。如前所述,相同的代码在相同的,只是指向不同的
因此,我尝试使用,然后使用重新编译,得到以下结果: 在包含于/usr/include/c++/4.6/thread:39:0,from main.cpp:2:/usr/include/c++/4.6/functional:在成员函数中'void std::_bind_result<_result,_functor(_bound_args...)>::__call(std::tuple<_args.
问题内容: 我已经使用Android的MediaCodec API编写了H264流编码器。我在大约十种使用不同处理器的不同设备上对其进行了测试,并且可以在所有这些设备上正常工作,除了在使用Snapdragon 800的设备(Google Nexus 5和Sony Xperia Z1)上。在这些设备上,我得到了SPS和PPS以及第一个关键帧,但是在那之后,mEncoder.dequeueOutput