這是我的測試提振的樣本:: tribool:升壓tribool使用
#include <iostream>
#include "boost/logic/tribool.hpp"
int main()
{
boost::logic::tribool init;
//init = boost::logic::indeterminate;
init = true;
//init = false;
if (boost::logic::indeterminate(init))
{
std::cout << "indeterminate -> " << std::boolalpha << init << std::endl;
}
else if (init)
{
std::cout << "true -> " << std::boolalpha << init << std::endl;
}
else if (!init)
{
std::cout << "false -> " << std::boolalpha << init << std::endl;
}
bool safe = init.safe_bool(); <<---- error here
if (safe) std::cout << std::boolalpha << safe << std::endl;
return 0;
}
我想使用safe_bool()函數的boost :: tribool轉換爲純布爾,但有請編譯時錯誤:
Error 1 error C2274 : 'function-style cast' : illegal as right side of '.' operator D : \install\libs\boost\boost_samples\modules\tribool\src\main.cpp 23 1 tribool
看起來我錯誤地使用了safe_bool()函數。 你能幫我解決這個問題嗎?謝謝。