我正在做一个C++测验,我需要在下面的代码中说明什么错误:
class Base {
friend class SubClass;
int n;
virtual int getN()
{
return n;
}
};
class SubClass: public Base {
public:
SubClass() {}
SubClass(const SubClass& s) {}
};
int main()
{
SubClass sc;
if(sc.getN() <= 5)
{
int x = sc.getN();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
除了n是没有资源的,也许应该通过Base类指针创建对象,还有什么可能是错的?
当我运行它时,我收到此错误:
error: 'virtual int Base::getN()' is private
Run Code Online (Sandbox Code Playgroud) 我有这个简单的应用程序,它将一些项添加到组合框:
public partial class Window1 : Window
{
private ObservableCollection<string> _dropDownValues = new ObservableCollection<string>();
public ObservableCollection<string> DropDownValues
{
get { return _dropDownValues; }
set { _dropDownValues = value; }
}
private string _selectedValue;
public string SelectedValue
{
get { return _selectedValue; }
set { _selectedValue = value; }
}
public Window1()
{
InitializeComponent();
DataContext = this;
DropDownValues.Add("item1");
DropDownValues.Add("item1");
DropDownValues.Add("item1");
DropDownValues.Add("item1");
DropDownValues.Add("item1");
DropDownValues.Add("item1");
}
}
Run Code Online (Sandbox Code Playgroud)
这是XAML文件:
<Window x:Class="WpfApplication2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<StackPanel HorizontalAlignment="Left" Margin="10">
<ComboBox
Margin="0 0 0 5" …Run Code Online (Sandbox Code Playgroud) 读到这个,我得到的印象是这段代码应该有效:
class Connection : public std::enable_shared_from_this<Connection>
{
public:
Connection(tcp::socket&& socket) : socket_(std::move(socket)) {}
private:
tcp::socket socket_;
};
Run Code Online (Sandbox Code Playgroud)
但编译器在构造函数中发出此错误:
Call to implicitly-deleted copy constructor of 'tcp::socket' (aka'basic_stream_socket<boost::asio::ip::tcp>')
Run Code Online (Sandbox Code Playgroud)
我也定义了BOOST_ASIO_HAS_MOVE.我使用Xcode 4.6.3并在编译器设置中定义了这个:
C++ Language dialect: GNU++11[-std=gnu++11]
C++ Standard Library: libc++(LLVM C++ standard library with C++11 support)
Run Code Online (Sandbox Code Playgroud) 我想为我的Core Data应用程序添加单元测试,但我确定如何重置测试之间的上下文.
这是我的CoreDataStack目标:
public final class CoreDataStack {
var storeType: StoreType!
public init(storeType: StoreType) {
self.storeType = storeType
}
lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "Transaction")
container.loadPersistentStores(completionHandler: { (description, error) in
if let error = error {
fatalError("Unresolved error \(error), \(error.localizedDescription)")
} else {
description.type = self.storeType.type
}
})
return container
}()
public var context: NSManagedObjectContext {
return persistentContainer.viewContext
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我在测试中使用它的方式:
class PaymentTests: XCTestCase {
var context: NSManagedObjectContext!
override func setUp() {
super.setUp() …Run Code Online (Sandbox Code Playgroud) 我想为IOS 11更新我的应用程序,并遇到此问题.这是我目前的代码:
protocol DataSourceDelegate: class {
associatedtype Object
func cellIdentifierForObject(object: Object) -> String
func swipeToDeleteObject(object: Object)
}
Run Code Online (Sandbox Code Playgroud)
此协议用于我的一个视图控制器:
extension TransactionsViewController: DataSourceDelegate {
func cellIdentifierForObject(object: Object) -> String {
return "Cell"
}
func swipeToDeleteObject(object: Object) {
object.managedObjectContext?.performChanges {
object.managedObjectContext?.delete(object)
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我得到了这个Object类型的错误:
在此上下文中,"对象"对于类型查找是不明确的
在这一行:
func cellIdentifierForObject(object: Object) -> String { ... }
Run Code Online (Sandbox Code Playgroud)
出现此问题是因为我的项目中还有其他一些Object类型.我试图将协议或类名放在名称前面,但我仍然会收到错误.
有谁知道这两个是什么,IBDesignablesAgentCocoaTouch并且Interface Builder Cocoa Touch Tool正在做什么?
每次我打开Xcode这两个都使用了太多的CPU,我的粉丝才能达到最大速度.
我目前正在使用Xcode 9 beta 5.不确定这些都是从beta 5还是beta 4开始的.
我能做些什么来阻止他们使用这么多CPU吗?
我正在尝试在注册表中设置DWORD值.我使用文本值,但现在我想用数字(0)设置另一个值.但它并没有写出来.
这是我的代码:
RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\pager", 0, KEY_ALL_ACCESS, &hKey);
RegSetValueEx(hKey, TEXT("Save"), 0, REG_SZ, (const BYTE*)0x00, sizeof(DWORD));
RegCloseKey(hKey);
Run Code Online (Sandbox Code Playgroud)
PS:密钥已经存在,值为1,所以我试图用值0覆盖它(我没有创建一个新的).
让我们说我有这个课程:
class X {
public:
int x;
};
Run Code Online (Sandbox Code Playgroud)
我看到如果我在本地创建一个X实例,x将不会初始化为0,只有我全局创建它.
这是否意味着默认构造函数不是由编译器合成的(我怀疑)对于创建localy的对象,或者它将被合成但不是x值的零,如果是这种情况,为什么会这样?
我正在使用变换算法和std :: toupper来实现这一点,但这可以在一行中完成,像这样吗?
transform(s.begin(), s.end(), ostream_iterator<string>(cout, "\n"),std::toupper);
Run Code Online (Sandbox Code Playgroud)
我得到错误,所以我必须为此创建一个函数并使用transform调用它,或者我可以使用一些适配器?
我正在使用 Core Data 并且我的谓词之一根据以下枚举检索数据:
enum Period : Int {
Daily
Weekly
Monthly
}
Run Code Online (Sandbox Code Playgroud)
我的谓词是这样的:
public static func byTypePredicate(periods: [Int]) -> NSPredicate {
return NSPredicate(format: "period IN %@", periods)
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我不想Int's在调用这个谓词时使用,我想传递Period枚举,但在谓词内部必须将其转换Int为使其工作。
有没有快速转换的方法?