如何创建一个优先级队列作为成员变量并将成员函数用作比较器?
我尝试使用c样式的函数指针,但无法弄清楚如何将函数指针作为成员函数的成员变量。
class CallCenter
{
std::function<bool(Employee*, Employee*)> m_comp;
public:
CallCenter() : m_comp(Compare) {}
bool Compare(Employee* a, Employee* b);
std::priority_queue<Employee*, std::vector<Employee*>, m_comp>> m_available;
};
在将函数指针设置为成员变量时,我也遇到错误。
答案 0 :(得分:0)
<?php
session_start();
?>
<?php
if( $_SESSION['loggedInUser'] ) {
include('includes/connection.php');
$query2 = "SELECT * FROM users";
$result2 = mysqli_query( $conn, $query2);
?>
<ul class="nav navbar-nav">
<li><a href="clients.php">My Clients</a></li>
<li><a href="add.php">Add Client</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<p class="navbar-text">Welcome,
<?php
if( mysqli_num_rows($result2) > 0 ) {
while( $row = mysqli_fetch_assoc($result2) ) {
$name = $row['name'];
echo "<span style='color: #8F8F8F;'>" . $name . "</span>";
}
}
mysqli_close($conn);
?>
!</p>
是非静态成员函数,不能像Compare
那样调用。
您需要使函数Compare(a, b)
或static
:
friend
或
static bool Compare(Employee* a, Employee* b);